加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

MariaDB:真正的及时同步数据库,MySQL要警惕了

发布时间:2019-07-23 14:33:55 所属栏目:编程 来源:hello架构
导读:一、配景先容 无论是回收binlog可能GTID的方法,其本质都是通过I/O_thread和sql_thread的情势举办的同步,由于无法停止复制耽误而饱受诟病,基于上述MariaDB引入了Galera Cluster来办理此题目。 二、Galera Cluster先容 Galera Cluster与传统的复制方法不

MariaDB:真正的及时同步数据库,MySQL要警惕了

一、配景先容

无论是回收binlog可能GTID的方法,其本质都是通过I/O_thread和sql_thread的情势举办的同步,由于无法停止复制耽误而饱受诟病,基于上述MariaDB引入了Galera Cluster来办理此题目。

二、Galera Cluster先容

Galera Cluster与传统的复制方法差异,不通过I/O_thread和sql_thread举办同步,而是在更底层通过wsrep实现文件体系级此外同步,可以做到险些及时同步,而其上的MySQL对此一窍不通

MariaDB:真正的及时同步数据库,MySQL要警惕了

这就要求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.上风:

  • 由于是多主,以是不存在Slavelag(耽误)
  • 不存在丢出事宜的环境
  • 同时具有读和写的扩展手段
  • 更小的客户端耽误
  • 节点间数据是同步的,而Master/Slave模式是异步的,差异slave上的binlog也许是差异的

2.弱点:

  • 插手新节点时开销大,必要复制完备的数据
  • 不能有用地办理写扩展的题目,全部的写操纵都产生在全部的节点
  • 有几多个节点,就有几多份一再的数据
  • 因为事宜提交必要跨节点通讯,即涉及漫衍式事宜操纵,因此写入会比主从复制慢许多,节点越多,写入越慢,死锁和回滚也会越发频仍
  • 对收集要求较量高,假如收集呈现颠簸不不变,则也许会造成两个节点失联,Galera Cluster集群会产生脑裂,处事将不行用

尚有一些处所存在范围:

  1. 仅支持InnoDB/XtraDB存储引擎,任何写入其他引擎的表,包罗mysql.*表都不会被复制。可是DDL语句可以复制,可是insert into mysql.user(MyISAM存储引擎)之类的插入数据不会被复制
  2. Delete操纵不支持没有主键的表,由于没有主键的表在差异的节点上的次序差异,假如执行select … limit …将呈现差异的功效集
  3. LOCK/UNLOCK TABLES/FLUSH TABLES WITH READ LOCKS不支持单表所锁,以及锁函数GET_LOCK()、RELEASE_LOCK(),但FLUSH TABLES WITH READ LOCK支持全局表锁
  4. General Query Log日记不能生涯在表中,假如开始查询日记,则只能生涯到文件中
  5. 不能有大事宜写入,不能操纵wsrep_max_ws_rows=131072(行),且写入集不能高出wsrep_max_ws_size=1073741824(1GB),不然客户端直接报错
  6. 因为集群是乐观锁并发节制,因此,在commit阶段会有事宜斗嘴产生。假如两个事宜在集群中的差异节点上对统一行写入并提交,则失败的节点将回滚,客户端返回死锁报错
  7. XA漫衍式事宜不支持Codership Galera Cluster,在提交时也许会回滚
  8. 整个集群的写入吞吐量取决于最弱的节点限定,集群要行使统一的设置

三、 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数据库。

【编辑保举】

  1. 保举一款MySQL高可用复制打点器材——Orchestrator先容
  2. 详解MySQL数据库的Index Condition Pushdown(ICP)特征
  3. 误删了公司数据库,但我照旧活下来了
  4. 超具体的MySQL数据库参数优化,都总结在这里了
  5. 优化系统 | 我是怎么计较MySQL数据库索引长度的?
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读