1.簡述:mysql
MariaDB Galera Cluster 是一套在mysql innodb存儲引擎上面實現multi-master及數據實時同步的系統架構,業務層面無需作讀寫分離工做,數據庫讀寫壓力都能按照既定的規則分發到 各個節點上去。在數據方面徹底兼容 MariaDB 和 MySQL。sql
2.特性:數據庫
(1).同步複製 Synchronous replication
(2).Active-active multi-master 拓撲邏輯
(3).可對集羣中任一節點進行數據讀寫
(4).自動成員控制,故障節點自動從集羣中移除
(5).自動節點加入
(6).真正並行的複製,基於行級
(7).直接客戶端鏈接,原生的 MySQL 接口
(8).每一個節點都包含完整的數據副本
(9).多臺數據庫中數據同步由 wsrep 接口實現centos
3.侷限性:架構
(1).目前的複製僅僅支持InnoDB存儲引擎,任何寫入其餘引擎的表,包括mysql.*表將不會複製,可是DDL語句會被複制的,所以建立用戶將會被複制,可是insert into mysql.user…將不會被複制的.
(2).DELETE操做不支持沒有主鍵的表,沒有主鍵的表在不一樣的節點順序將不一樣,若是執行SELECT…LIMIT… 將出現不一樣的結果集.
(3).在多主環境下LOCK/UNLOCK TABLES不支持,以及鎖函數GET_LOCK(), RELEASE_LOCK()…
(4).查詢日誌不能保存在表中。若是開啓查詢日誌,只能保存到文件中。
(5).容許最大的事務大小由wsrep_max_ws_rows和wsrep_max_ws_size定義。任何大型操做將被拒絕。如大型的LOAD DATA操做。
(6).因爲集羣是樂觀的併發控制,事務commit可能在該階段停止。若是有兩個事務向在集羣中不一樣的節點向同一行寫入並提交,失敗的節點將停止。對 於集羣級別的停止,集羣返回死鎖錯誤代碼(Error: 1213 SQLSTATE: 40001 (ER_LOCK_DEADLOCK)).
(7).XA事務不支持,因爲在提交上可能回滾。
(8).整個集羣的寫入吞吐量是由最弱的節點限制,若是有一個節點變得緩慢,那麼整個集羣將是緩慢的。爲了穩定的高性能要求,全部的節點應使用統一的硬件。
(9).集羣節點建議最少3個。
(10).若是DDL語句有問題將破壞集羣。併發