2014-03-19 168 views
0

我們是一家公司,提供時間各種體育賽事的跟蹤。爲了存儲這些計時結果,我們使用帶有MySQL服務器的筆記本電腦,其中包含計時數據。MySQL複製筆記本電腦

在當前形勢下,我們得到了主人的本地副本(主服務器,落後於我們的網站)就在我們開車到該事件,並在活動結束後提交這些更改回主服務器。

在不久的將來,我們希望在我們的網站上實施現場跟蹤,並獲得用戶配置文件的更改(用戶只需批次開始前改變自己批次的時間)上的位置的機器。

存在多個批次(開始時間)的事件。用戶訂閱某個批次,但有時當他們在交通比如,他們喜歡自己的批次切換到更高的一個。

所以我們需要雙向同步,因爲數據在我們的主服務器和我們的現場機器上都得到了更新。 在大多數活動中,我們都可以上網。如果我們不這樣做,我希望在連接重新聯機後立即開始同步工作。

我已經發現了MySQL的主 - 主複製。這看起來相當不錯,但我並不滿意。

是否有任何建議,就如何建立這樣的環境?所有建議都非常歡迎!

+0

請看我更新的問題。 –

回答

1

多主複製在數據庫始終連接的環境中效果最佳。這減少了衝突的可能性。多主複製沒有任何自動解決衝突,這可能會導致不正確的數據,如果有兩個主機之間的任何延遲。

多主複製通常用於提供冗餘。如果一個主控制器發生故障,所有寫入都可以故障切換到另一個。

隨着多主複製,如果允許在兩個大師更新時存在的服務器(未連接或慢速連接)之間的延遲,你可以有數據衝突,這可能會導致不正確的或意外的數據。

多主複製不是爲離線分佈式數據庫同步,但它可以在這種情況下使用,如果你有一個策略,避免數據衝突。

爲了完全避免衝突,一次只允許更新一個數據庫。

你可以設計的網站,以檢測是否複製活躍與本地數據庫,如果是,允許只在網站上,然後複製到本地數據庫的變化。

如果沒有Internet連接和複製,則要求用戶更新本地數據庫上的事件數據。一旦您恢復在線或重新建立連接,您可以複製回網站數據庫。

由於針對不同的事件數據不會衝突,這不會阻止你的網站從其餘的爲即將發生的事件操作,而你限制網站正在發生的事件上的更新。

關於時間跟蹤數據,因爲根本不會在網站上更新,所以您不必擔心衝突。您可以隨時將這些數據複製到網站管理員。