MariaDB公私数据分离,数据库设计



我在一家不久前与另一家公司合并的公司工作。我们有几个基本相同的业务部门。欧洲一个,中国一个,各一个。我们已经有了一个内部的MariaDB数据库,我们想开始共享它。

问题是,不同的GDPR法规和合同禁止跨站点共享某些数据。所以我不能做的是,跨站点复制数据然后在前端对用户隐藏起来。私人数据必须留在设施内,它属于。

所以我的想法是将我们现在拥有的每个表以及可能包含敏感信息的每个表分开到两个表中。一个是table_contracts_private和table_contracts_public

对于基本的数据库复制和跨站点复制公共表,这看起来仍然是非常可行的。但是如何发布私人数据呢?此外,我如何最好地结合私人和公共数据?使用视图

我只是找不到任何好的机制,特别是因为我们也想避免数据重复,所以私有条目需要被删除并替换为公共条目,这也需要更改所有引用id。

这是分片的一个可能的应用吗?

如果有人能给我指出正确的方向,或者如果有人有一个类似要求的演示项目,我可以看看,我将非常感激。

欢呼

这是分片的可能应用吗?

我不这么认为。分片是一种性能优化方法。你需要的是支持法律约束。这是两个完全不同的问题。

我认为你的思路是对的。我称之为"围墙花园"。的方法。您只使用id创建一个包含所有非pii信息的数据库。没有任何东西可以远程直接识别人,他们的地址,电话,信用卡等等。这可能很棘手。在某些司法管辖区,人口统计数据的组合可以是PII。

其中一些id然后引用另一个存储所有敏感信息的数据库;这就是"围墙花园"。我建议将第二个数据库放在单独的服务器上。它有一个非常有限的访问列表。这就是你实现诸如"忘记"之类的要求的地方;一个客户。

在任何情况下,关键是分片不是正确的方法。您希望重新设计应用程序,将隐私和安全性作为首要任务。令人高兴的是,这实际上并不难实现,尽管如果数据库发生变化,您可能需要进行周期审计。例如,在我使用的一个数据库中,我们发现"优惠券代码"有时包含未加密的电子邮件地址。Arrgggh !

最新更新