0

我们的组织有一个非常大的数据库,可以复制到单独的全球服务器。

在我们的数据库中,一些表包含特定区域专有的数据,从而为这些区域内的用户提供专有信息的特权。

例子

transactions_australia, transactions_dubai

)

与区域表相反,我们有全球表,其中包含来自世界所有地区的信息。

例子

person, address, contacts

)

我们面临的问题是,在授予用户访问这些信息的权限时,我们会面临我们正在努力克服的安全风险。

首席程序员建议我们通过查询复制驻留在全局表中的数据,这些查询只能将特定区域的数据提取到单独的数据库中,并在每次需要运行报告或提取数据时执行此复制。

我不完全同意这种方法,因为复制 11 多个表(包含数十万条记录)的记录需要很长时间,而且数据完整性和同步问题也存在风险。

我正在寻找这种复制方法的替代方法。

有没有办法为某些服务器设置条件复制?

例如。

如果更新了人员记录并且该人员属于澳大利亚地区,则该记录将在主服务器上更新,并且仅在相应的服务器中进行复制。

或者有其他选择吗?

我曾简要研究过使用视图,但我认为它们不会提供我们所追求的主要数据集的那种水平的推断。

4

1 回答 1

0

MySQL 提供选择性复制,但最小的选择级别是table。这是因为,在大多数情况下,从纯数据库的角度来看,一个表几乎总是可以独立存在的。试图通过特定行来限制复制会严重损害数据完整性并成为数据库管理的噩梦:MySQL 需要更多关于表使用的信息,而不是其设计处理的信息。

在文档中关于复制的章节中,系统设置被描述为控制选择性表或数据库的复制。

于 2010-10-18T05:26:28.407 回答