2011-07-15 58 views
0

首先我是新來的分佈式數據庫的世界,anynhow情況是:同步MySQL的數據塊的數據

我在美國,瑞典和澳大利亞三個服務器,同一個web應用程序已經被部署在所有這些與MySQL DB(相同結構)。因爲不同的用戶正在使用這些應用程序,並且所有三個DB都有不同的數據從現在開始,如果任何一臺服務器中的數據發生任何變化,我們都需要每次同步數據庫數據;告訴我什麼是最佳解決方案。

或 如果我們對所有Web服務器使用同一個DB服務器,它是否會減慢應用程序的速度?

請提出一些建議。

回答

0

有,如果你使用標準的MySQL複製你將面臨幾個問題:

  1. MySQL複製基本上是主 - >奴隸。所以更新在主機上完成,然後複製tehm到從機。這可能非常有效,但通常意味着您的兩個位置的更新速度會很慢,但讀取速度會是正常的。

  2. 1的錯誤 - 事務發生在主服務器上,所以如果你創建一個新的記錄並獲得LAST_INSERT_ID()並將其插入到另一個表中,所有的讀寫操作都需要到MySQL主服務器上,在事務完成之前,不會在從屬設備上可見。

  3. 您的現有數據是否可以集成到一個數據集中?如果沒有,那麼你可能有問題。

  4. 應用程序「辦公室意識」。換句話說,如果你把幾個辦公室的數據放在一起,它還能工作嗎?應用程序是否根據其所在辦公室對數據進行假設?