一、背景介绍
无论是采用binlog或者GTID的方式,其本质都是通过I/O_thread和sql_thread的形式进行的同步,因为无法避免复制延迟而饱受诟病,基于上述MariaDB引入了GaleraCluster来解决此问题。
二、Galera Cluster介绍
GaleraCluster与传统的复制方式不同,不通过I/O_thread和sql_thread进行同步,而是在更底层通过wsrep实现文件系统级别的同步,可以做到几乎实时同步,而其上的MySQL对此一无所知
这就要求MySQL能够调用wsrep提供的API来完成,在Mariadb10.1之前的版本,支持GaleraCluster的版本是与Mariadb分开发行的,其版本名称就成为Mariadb-Galera,Mariadb10.1的版本中MariaDB GaleraCluste不再单独发行,而是以galera-25.3.12-2.el7.x86_64包的形式出现方面都强过MySQL。
MariaDB Galera Cluster主要功能
同步复制:真正的multi-master,即所有节点可以同时读写数据库自动的节点成员控制,失效节点自动被清除新节点加入数据自动复制真正的并行复制,行级用户可以直接连接集群,使用感受上与MySQL完全一致
MariaDB Galera Cluster的优缺点
1.优势:
2.缺点:
还有一些地方存在局限:
三、 MariaDB与Mysql的对比
1.MariaDB发展趋势和更新频率
毕竟基于MySQL创始人领衔开发的MariaDB数据库,肯定是知道MYSQL数据库存在的弱项,然后提供更好的兼容性和扩展性,我们基本上完全可以将MYSQL数据库建议到MariaDB数据库中,而且MariaDB发展速度和升级速度远远优先。
2.MySQL封闭且发展缓慢
由于MySQL在被收购之后更新速度与性能的优化非常的缓慢,而且是闭源的,完全没有Oracle之外的人参与进来,很多需要解决的问题都没有升级进去,反之很多公司虽然也有利用自己开发的分支Mysql版本。
3.MariaDB的特点和优势
MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的XtraDB,InnoDB的变体,MariaDB默认的存储引擎是Aria,不是MyISAM。Aria可以支持事务,但是默认情况下没有打开事务支持,因为事务支持对性能会有影响。MariaDB是一个采用Maria存储引擎的MySQL分支版本,是由原来MySQL 的作者Michael Widenius创办的公司所开发的免费开源的数据库服务器。
4.MariaDB与MySQL对比
这个直观的区别在于MariaDB能够快速的查询和处理数据,且占用资源相对是少于MySQL数据库的,而且在运行速度、以及支持对 Unicode的排序问题优于MYSQL数据库。
本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载者并注明出处:https://www.jmbhsh.com/baobaofuzhuang/36065.html