不管是採用binlog或者GTID的方式,其本質都是經過I/O_thread和sql_thread的形式進行的同步,由於沒法避免複製延遲而飽受詬病,基於上述MariaDB引入了Galera Cluster來解決此問題。mysql
Galera Cluster與傳統的複製方式不一樣,不經過I/O_thread和sql_thread進行同步,而是在更底層經過wsrep實現文件系統級別的同步,能夠作到幾乎實時同步,而其上的MySQL對此一無所知sql
這就要求MySQL可以調用wsrep提供的API來完成,在Mariadb10.1以前的版本,支持Galera Cluster的版本是與Mariadb分開發行的,其版本名稱就成爲Mariadb-Galera,Mariadb10.1之後的版本中MariaDB Galera Cluste再也不單獨發行,而是以galera-25.3.12-2.el7.x86_64包的形式出現方面都強過MySQL。數據庫
MariaDB Galera Cluster主要功能服務器
同步複製:真正的multi-master,即全部節點能夠同時讀寫數據庫自動的節點成員控制,失效節點自動被清除新節點加入數據自動複製真正的並行複製,行級用戶能夠直接鏈接集羣,使用感覺上與MySQL徹底一致網絡
MariaDB Galera Cluster的優缺點併發
1.優點:異步
2.缺點:分佈式
還有一些地方存在侷限:ide
畢竟基於MySQL創始人領銜開發的MariaDB數據庫,確定是知道MYSQL數據庫存在的弱項,而後提供更好的兼容性和擴展性,咱們基本上徹底能夠將MYSQL數據庫建議到MariaDB數據庫中,並且MariaDB發展速度和升級速度遠遠優先。函數
因爲MySQL在被收購以後更新速度與性能的優化很是的緩慢,並且是閉源的,徹底沒有Oracle以外的人蔘與進來,不少須要解決的問題都沒有升級進去,反之不少公司雖然也有利用本身開發的分支Mysql版本。
MariaDB基於事務的Maria存儲引擎,替換了MySQL的MyISAM存儲引擎,它使用了Percona的 XtraDB,InnoDB的變體,MariaDB默認的存儲引擎是Aria,不是MyISAM。Aria能夠支持事務,可是默認狀況下沒有打開事務支持,由於事務支持對性能會有影響。MariaDB是一個採用Maria存儲引擎的MySQL分支版本,是由原來 MySQL 的做者Michael Widenius創辦的公司所開發的免費開源的數據庫服務器。
這個直觀的區別在於MariaDB可以快速的查詢和處理數據,且佔用資源相對是少於MySQL數據庫的,並且在運行速度、以及支持對 Unicode 的排序問題優於MYSQL數據庫。