偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

MariaDB:真正的實(shí)時(shí)同步數(shù)據(jù)庫,MySQL要小心了

數(shù)據(jù)庫 MySQL MariaDB
無論是采用binlog或者GTID的方式,其本質(zhì)都是通過I/O_thread和sql_thread的形式進(jìn)行的同步,因?yàn)闊o法避免復(fù)制延遲而飽受詬病,基于上述MariaDB引入了Galera Cluster來解決此問題。

 

一、背景介紹

無論是采用binlog或者GTID的方式,其本質(zhì)都是通過I/O_thread和sql_thread的形式進(jìn)行的同步,因?yàn)闊o法避免復(fù)制延遲而飽受詬病,基于上述MariaDB引入了Galera Cluster來解決此問題。

二、Galera Cluster介紹

Galera Cluster與傳統(tǒng)的復(fù)制方式不同,不通過I/O_thread和sql_thread進(jìn)行同步,而是在更底層通過wsrep實(shí)現(xiàn)文件系統(tǒng)級(jí)別的同步,可以做到幾乎實(shí)時(shí)同步,而其上的MySQL對(duì)此一無所知

 

這就要求MySQL能夠調(diào)用wsrep提供的API來完成,在Mariadb10.1之前的版本,支持Galera Cluster的版本是與Mariadb分開發(fā)行的,其版本名稱就成為Mariadb-Galera,Mariadb10.1以后的版本中MariaDB Galera Cluste不再單獨(dú)發(fā)行,而是以galera-25.3.12-2.el7.x86_64包的形式出現(xiàn)方面都強(qiáng)過MySQL。

MariaDB Galera Cluster主要功能

同步復(fù)制:真正的multi-master,即所有節(jié)點(diǎn)可以同時(shí)讀寫數(shù)據(jù)庫自動(dòng)的節(jié)點(diǎn)成員控制,失效節(jié)點(diǎn)自動(dòng)被清除新節(jié)點(diǎn)加入數(shù)據(jù)自動(dòng)復(fù)制真正的并行復(fù)制,行級(jí)用戶可以直接連接集群,使用感受上與MySQL完全一致

MariaDB Galera Cluster的優(yōu)缺點(diǎn)

1.優(yōu)勢(shì):

  • 因?yàn)槭嵌嘀鳎圆淮嬖赟lavelag(延遲)
  • 不存在丟失事務(wù)的情況
  • 同時(shí)具有讀和寫的擴(kuò)展能力
  • 更小的客戶端延遲
  • 節(jié)點(diǎn)間數(shù)據(jù)是同步的,而Master/Slave模式是異步的,不同slave上的binlog可能是不同的

2.缺點(diǎn):

  • 加入新節(jié)點(diǎn)時(shí)開銷大,需要復(fù)制完整的數(shù)據(jù)
  • 不能有效地解決寫擴(kuò)展的問題,所有的寫操作都發(fā)生在所有的節(jié)點(diǎn)
  • 有多少個(gè)節(jié)點(diǎn),就有多少份重復(fù)的數(shù)據(jù)
  • 由于事務(wù)提交需要跨節(jié)點(diǎn)通信,即涉及分布式事務(wù)操作,因此寫入會(huì)比主從復(fù)制慢很多,節(jié)點(diǎn)越多,寫入越慢,死鎖和回滾也會(huì)更加頻繁
  • 對(duì)網(wǎng)絡(luò)要求比較高,如果網(wǎng)絡(luò)出現(xiàn)波動(dòng)不穩(wěn)定,則可能會(huì)造成兩個(gè)節(jié)點(diǎn)失聯(lián),Galera Cluster集群會(huì)發(fā)生腦裂,服務(wù)將不可用

還有一些地方存在局限:

  1. 僅支持InnoDB/XtraDB存儲(chǔ)引擎,任何寫入其他引擎的表,包括mysql.*表都不會(huì)被復(fù)制。但是DDL語句可以復(fù)制,但是insert into mysql.user(MyISAM存儲(chǔ)引擎)之類的插入數(shù)據(jù)不會(huì)被復(fù)制
  2. Delete操作不支持沒有主鍵的表,因?yàn)闆]有主鍵的表在不同的節(jié)點(diǎn)上的順序不同,如果執(zhí)行select … limit …將出現(xiàn)不同的結(jié)果集
  3. LOCK/UNLOCK TABLES/FLUSH TABLES WITH READ LOCKS不支持單表所鎖,以及鎖函數(shù)GET_LOCK()、RELEASE_LOCK(),但FLUSH TABLES WITH READ LOCK支持全局表鎖
  4. General Query Log日志不能保存在表中,如果開始查詢?nèi)罩?,則只能保存到文件中
  5. 不能有大事務(wù)寫入,不能操作wsrep_max_ws_rows=131072(行),且寫入集不能超過wsrep_max_ws_size=1073741824(1GB),否則客戶端直接報(bào)錯(cuò)
  6. 由于集群是樂觀鎖并發(fā)控制,因此,在commit階段會(huì)有事務(wù)沖突發(fā)生。如果兩個(gè)事務(wù)在集群中的不同節(jié)點(diǎn)上對(duì)同一行寫入并提交,則失敗的節(jié)點(diǎn)將回滾,客戶端返回死鎖報(bào)錯(cuò)
  7. XA分布式事務(wù)不支持Codership Galera Cluster,在提交時(shí)可能會(huì)回滾
  8. 整個(gè)集群的寫入吞吐量取決于最弱的節(jié)點(diǎn)限制,集群要使用同一的配置

三、 MariaDB與Mysql的對(duì)比

1.MariaDB發(fā)展趨勢(shì)和更新頻率

畢竟基于MySQL創(chuàng)始人領(lǐng)銜開發(fā)的MariaDB數(shù)據(jù)庫,肯定是知道MYSQL數(shù)據(jù)庫存在的弱項(xiàng),然后提供更好的兼容性和擴(kuò)展性,我們基本上完全可以將MYSQL數(shù)據(jù)庫建議到MariaDB數(shù)據(jù)庫中,而且MariaDB發(fā)展速度和升級(jí)速度遠(yuǎn)遠(yuǎn)優(yōu)先。

2.MySQL封閉且發(fā)展緩慢

由于MySQL在被收購(gòu)之后更新速度與性能的優(yōu)化非常的緩慢,而且是閉源的,完全沒有Oracle之外的人參與進(jìn)來,很多需要解決的問題都沒有升級(jí)進(jìn)去,反之很多公司雖然也有利用自己開發(fā)的分支Mysql版本。

3.MariaDB的特點(diǎn)和優(yōu)勢(shì)

MariaDB基于事務(wù)的Maria存儲(chǔ)引擎,替換了MySQL的MyISAM存儲(chǔ)引擎,它使用了Percona的 XtraDB,InnoDB的變體,MariaDB默認(rèn)的存儲(chǔ)引擎是Aria,不是MyISAM。Aria可以支持事務(wù),但是默認(rèn)情況下沒有打開事務(wù)支持,因?yàn)槭聞?wù)支持對(duì)性能會(huì)有影響。MariaDB是一個(gè)采用Maria存儲(chǔ)引擎的MySQL分支版本,是由原來 MySQL 的作者M(jìn)ichael Widenius創(chuàng)辦的公司所開發(fā)的免費(fèi)開源的數(shù)據(jù)庫服務(wù)器。

4.MariaDB與MySQL對(duì)比

這個(gè)直觀的區(qū)別在于MariaDB能夠快速的查詢和處理數(shù)據(jù),且占用資源相對(duì)是少于MySQL數(shù)據(jù)庫的,而且在運(yùn)行速度、以及支持對(duì) Unicode 的排序問題優(yōu)于MYSQL數(shù)據(jù)庫。

責(zé)任編輯:龐桂玉 來源: 今日頭條
相關(guān)推薦

2018-09-07 23:23:55

MYSQL開源代碼

2020-09-21 11:30:28

CanalMySQL數(shù)據(jù)庫

2010-05-17 14:00:07

MySql數(shù)據(jù)庫

2010-06-02 16:57:50

MySQL數(shù)據(jù)庫同步

2015-07-16 17:00:15

MySQLMariaDBPercona

2010-05-12 18:41:34

MySQL數(shù)據(jù)庫

2011-05-25 10:13:54

MariaDB

2017-05-25 08:52:08

SQL Server數(shù)據(jù)庫

2010-06-09 17:36:45

MySQL數(shù)據(jù)庫同步

2010-06-09 15:01:18

MySQL數(shù)據(jù)庫同步

2020-11-14 11:28:20

MariaDB MySQL數(shù)據(jù)庫

2010-06-12 17:55:23

MySQL數(shù)據(jù)庫同步

2020-08-31 07:00:00

數(shù)據(jù)庫數(shù)據(jù)庫同步

2024-10-30 08:15:18

2021-06-03 21:54:33

數(shù)據(jù)庫框架緩存

2019-10-08 15:54:42

SQL數(shù)據(jù)庫技術(shù)

2010-05-19 16:31:38

MySQL數(shù)據(jù)庫

2024-10-18 11:39:55

MySQL數(shù)據(jù)檢索

2024-12-06 08:29:29

2010-07-01 15:44:22

SQL Server數(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)