我工作的公司刚刚迁移到 AWS - 目前他们有一个非常大的中央数据库,实例目前位于美国。
然而,他们的一个客户要求将所有数据都保存在欧盟。因此,在爱尔兰创建 AWS 实例不是问题,问题在于数据库以及如何管理它。
我们正在考虑为欧洲客户在欧盟运行另一个数据库,并使用不同的主键步骤,以便在将来两个地点需要合并时主键永远不会冲突。
问题是,如果我们有一个在美国和欧盟都使用我们的系统的客户,我们将必须为该用户创建 2 个帐户,并且由于连接时间太长而无法跨两个地区进行报告。
还有其他设置方法吗?
答案1
你有没有考虑过创建一个MySQL 集群为了达成这个?
答案2
首先,您可以定义主自动增量键,例如欧盟为 2n(偶数),美国为 2n+1(奇数),对于那些位于两个位置的帐户,您应该为它们定义一个主位置,并根据主位置定义键。这样就不会发生键冲突,但您可以轻松地合并来自两个位置的数据其次,对于报告,您可以分别为两个位置生成账单报告,并合并位于两个位置的帐户的账单信息。
答案3
您可能需要研究分布式事务。MySQL 的 InnoDB 存储引擎支持分布式事务。 以下是链接帮助您入门。