0

首先,我是分布式数据库世界的新手,无论如何场景是:

我在美国、瑞典和澳大利亚有三台服务器,使用 mysql DB(相同结构)在所有服务器上部署了相同的 Web 应用程序。由于不同的用户正在使用这些应用程序,并且所有三个数据库都有不同的数据;现在从现在开始,如果任何一台服务器中的数据发生任何变化,我们都需要自动同步数据库数据;告诉我什么是优化的解决方案。

或者如果我们为所有 Web 服务器使用同一个数据库服务器,它会减慢应用程序的速度吗?

请提出一些建议。

4

2 回答 2

0

如果您使用标准 MySQL 复制,您将面临几个问题:

  1. MySQL 复制基本上是主 -> 从。所以更新是在master上完成的,然后将tehm复制到slave。这可能非常有效,但这通常意味着您的两个位置的更新速度会很慢,但读取速度会正常。

  2. 推论 1 - 事务发生在主服务器上,因此如果您创建新记录并获取 LAST_INSERT_ID() 并将其插入到另一个表中,所有读取和写入都需要转到 MySQL 主服务器,因为这些更改在主服务器上不可见从属直到事务完成。

  3. 您现有的数据可以集成到一个数据集中吗?如果没有,那么您可能会遇到问题。

  4. 应用程序是否“办公室感知”。换句话说,如果你把几个办公室的数据放在一起,它还能工作吗?应用程序是否根据其所在的办公室对数据做出假设?

于 2011-07-15T13:47:00.837 回答
0

这几乎正​​是复制的目的。

http://dev.mysql.com/doc/refman/5.0/en/replication-howto.html

编辑:除非您使用的是网络加速器公司(Akamai 等),否则我不建议使用单个服务器,因为响应时间很慢。

于 2011-07-15T13:25:18.873 回答