MySQL NDB Cluster,Galera Cluster和Percona XtraDB Cluster優缺點總結

chenfeng發表於2017-07-12
Galera Cluster擁有以下特性:
1.  真正的多主架構,任何節點都可以進行讀寫
2.  同步複製,各節點間無延遲且節點當機不會導致資料丟失
3.  緊密耦合,所有節點均保持相同狀態,節點間無不同資料
4.  無需主從切換操作或使用VIP
5.  熱Standby,在Failover過程中無停機時間(由於不需要Failover)
6.  自動節點配置,無需手工備份當前資料庫並複製至新節點
7.  支援InnoDB儲存引擎
8. 對應於透明,無需更改應用或是進行極小的更改
9. 無需進行讀寫分離
Percona XtraDBCluster提供的特性有:
1.同步複製,事務要麼在所有節點提交或不提交。
2.多主複製,可以在任意節點進行寫操作。
3.在從伺服器上並行應用事件,真正意義上的並行複製。
4.節點自動配置。
5.資料一致性,不再是非同步複製。
Percona XtraDBCluster完全相容MySQL和Percona Server,表現在:
1.資料的相容性
2.應用程式的相容性:無需更改應用程式
叢集特點:
1. 叢集是有節點組成的,推薦配置至少3個節點,但是也可以執行在2個節點上。
2. 每個節點都是普通的mysql/percona伺服器,可以將現有的資料庫伺服器組成叢集,反之,也可以將叢集拆分成單獨的伺服器。
3. 每個節點都包含完整的資料副本。
優點如下:
1.當執行一個查詢時,在本地節點上執行。因為所有資料都在本地,無需遠端訪問。
2.無需集中管理。可以在任何時間點失去任何節點,但是叢集將照常工作。
3.良好的讀負載擴充套件,任意節點都可以查詢。
缺點如下:
1.加入新節點,開銷大。需要複製完整的資料。
2.不能有效的解決寫縮放問題,所有的寫操作都將發生在所有節點上。
3.有多少個節點就有多少重複的資料。

NDB Cluster缺點及限制:
對需要進行分片的表需要修改引擎Innodb為NDB,不需要分片的可以不修改。NDB的事務隔離級別只支援Read Committed,即一個事務在提交前,查詢不到在事務內所做的修改;而Innodb支援所有的事務隔離級別,預設使用Repeatable Read,不存在這個問題。外來鍵支援:雖然最新的Cluster版本已經支援外來鍵,但效能有問題(因為外來鍵所關聯的記錄可能在別的分片節點中),所以建議去掉所有外來鍵。Data Node節點資料會被儘量放在記憶體中,對記憶體要求大。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2141935/,如需轉載,請註明出處,否則將追究法律責任。

相關文章