2014-03-19 172 views
0

我们是一家公司,提供时间各种体育赛事的跟踪。为了存储这些计时结果,我们使用带有MySQL服务器的笔记本电脑,其中包含计时数据。MySQL复制笔记本电脑

在当前形势下,我们得到了主人的本地副本(主服务器,落后于我们的网站)就在我们开车到该事件,并在活动结束后提交这些更改回主服务器。

在不久的将来,我们希望在我们的网站上实施现场跟踪,并获得用户配置文件的更改(用户只需批次开始前改变自己批次的时间)上的位置的机器。

存在多个批次(开始时间)的事件。用户订阅某个批次,但有时当他们在交通比如,他们喜欢自己的批次切换到更高的一个。

所以我们需要双向同步,因为数据在我们的主服务器和我们的现场机器上都得到了更新。 在大多数活动中,我们都可以上网。如果我们不这样做,我希望在连接重新联机后立即开始同步工作。

我已经发现了MySQL的主 - 主复制。这看起来相当不错,但我并不满意。

是否有任何建议,就如何建立这样的环境?所有建议都非常欢迎!

+0

请看我更新的问题。 –

回答

1

多主复制在数据库始终连接的环境中效果最佳。这减少了冲突的可能性。多主复制没有任何自动解决冲突,这可能会导致不正确的数据,如果有两个主机之间的任何延迟。

多主复制通常用于提供冗余。如果一个主控制器发生故障,所有写入都可以故障切换到另一个。

随着多主复制,如果允许在两个大师更新时存在的服务器(未连接或慢速连接)之间的延迟,你可以有数据冲突,这可能会导致不正确的或意外的数据。

多主复制不是为离线分布式数据库同步,但它可以在这种情况下使用,如果你有一个策略,避免数据冲突。

为了完全避免冲突,一次只允许更新一个数据库。

你可以设计的网站,以检测是否复制活跃与本地数据库,如果是,允许只在网站上,然后复制到本地数据库的变化。

如果没有Internet连接和复制,则要求用户更新本地数据库上的事件数据。一旦您恢复在线或重新建立连接,您可以复制回网站数据库。

由于针对不同的事件数据不会冲突,这不会阻止你的网站从其余的为即将发生的事件操作,而你限制网站正在发生的事件上的更新。

关于时间跟踪数据,因为根本不会在网站上更新,所以您不必担心冲突。您可以随时将这些数据复制到网站管理员。