1.Mysql cluster: share-nothing,分散式節點架構的儲存方案,以便於提供容錯性和高效能。
需要用到mysql cluster安裝包,在叢集中的每一個機器上安裝。
有三個關鍵概念:Sql節點(多個),資料節點(多個),管理節點(一個),資料節點之間採用的是同步複製來保證各節點之間的資料一致性。
同步複製:
a) Master執行提交語句時,事務被髮送到slave,slave開始準備事務的提交。
b) 每個slave都要準備事務,然後向master傳送OK(或ABORT)訊息,表明事務已經準備好(或者無法準備該事務)。
c) Master等待所有Slave傳送OK或ABORT訊息,如果Master收到所有 Slave的OK訊息,它就會向所有Slave傳送提交訊息,告訴Slave提交該事務;如果 Master收到來自任何一個Slave的ABORT訊息,它就向所有 Slave傳送ABORT訊息,告訴Slave去中止事務。
e) 每個Slave等待來自Master的OK或ABORT訊息。如果Slave收到提交請求,它們就會提交事務,並向Master傳送事務已提交 的確認;如果Slave收到取消請求,它們就會撤銷所有改變並釋放所佔有的資源,從而中止事務,然後向Masterv送事務已中止的確認。
f) Master收到來自所有Slave的確認後,就會報告該事務被提交(或中止),然後繼續進行下一個事務處理。
由於同步複製一共需要4次訊息傳遞,故mysql cluster的資料更新速度比單機mysql要慢。所以mysql cluster要求執行在千兆以上的區域網內,節點可以採用雙網絡卡,節點組之間採用直連方式。
2.主從(Master-Slave): 主從機器上安裝mysql community(普通版)就可以。
主從之間是透過mysql的replication來保證資料的一致性。相對mysql cluster的資料同步方式來講是非同步的。
Replication:主節點要開啟binlog,設定一個唯一的伺服器id(區域網內唯一);從節點設定伺服器id,binlog記錄了master上的所有操作,會被複制到從節點的relaylog並在從節點上回放。
1.Mysql cluster: share-nothing,分散式節點架構的儲存方案,以便於提供容錯性和高效能。
需要用到mysql cluster安裝包,在叢集中的每一個機器上安裝。
有三個關鍵概念:Sql節點(多個),資料節點(多個),管理節點(一個),資料節點之間採用的是同步複製來保證各節點之間的資料一致性。
同步複製:
a) Master執行提交語句時,事務被髮送到slave,slave開始準備事務的提交。
b) 每個slave都要準備事務,然後向master傳送OK(或ABORT)訊息,表明事務已經準備好(或者無法準備該事務)。
c) Master等待所有Slave傳送OK或ABORT訊息,如果Master收到所有 Slave的OK訊息,它就會向所有Slave傳送提交訊息,告訴Slave提交該事務;如果 Master收到來自任何一個Slave的ABORT訊息,它就向所有 Slave傳送ABORT訊息,告訴Slave去中止事務。
e) 每個Slave等待來自Master的OK或ABORT訊息。如果Slave收到提交請求,它們就會提交事務,並向Master傳送事務已提交 的確認;如果Slave收到取消請求,它們就會撤銷所有改變並釋放所佔有的資源,從而中止事務,然後向Masterv送事務已中止的確認。
f) Master收到來自所有Slave的確認後,就會報告該事務被提交(或中止),然後繼續進行下一個事務處理。
由於同步複製一共需要4次訊息傳遞,故mysql cluster的資料更新速度比單機mysql要慢。所以mysql cluster要求執行在千兆以上的區域網內,節點可以採用雙網絡卡,節點組之間採用直連方式。
2.主從(Master-Slave): 主從機器上安裝mysql community(普通版)就可以。
主從之間是透過mysql的replication來保證資料的一致性。相對mysql cluster的資料同步方式來講是非同步的。
Replication:主節點要開啟binlog,設定一個唯一的伺服器id(區域網內唯一);從節點設定伺服器id,binlog記錄了master上的所有操作,會被複制到從節點的relaylog並在從節點上回放。