国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

深入淺出講解MySQL的并行復(fù)制

2024-07-25 19:08:44
字體:
供稿:網(wǎng)友

一、并行復(fù)制的背景

首先,為什么會有并行復(fù)制這個概念呢?

1. DBA都應(yīng)該知道,MySQL的復(fù)制是基于binlog的。  

2. MySQL復(fù)制包括兩部分,IO線程 和 SQL線程。  

3. IO線程主要是用于拉取接收Master傳遞過來的binlog,并將其寫入到relay log  

4. SQL線程主要負責解析relay log,并應(yīng)用到slave中  

5. 不管怎么說,IO和SQL線程都是單線程的,然后master卻是多線程的,所以難免會有延遲,為了解決這個問題,多線程應(yīng)運而生了。  

6. IO多線程?  

 6.1 IO沒必要多線程,因為IO線程并不是瓶頸啊  

7. SQL多線程?

 7.1 沒錯,目前最新的5.6,5.7,8.0 都是在SQL線程上實現(xiàn)了多線程,來提升slave的并發(fā)度   

接下來,我們就來一窺MySQL在并行復(fù)制上的努力和成果吧

二、重點

是否能夠并行,關(guān)鍵在于多事務(wù)之間是否有鎖沖突,這是關(guān)鍵。 下面的并行復(fù)制原理就是在看如何讓避免鎖沖突

三、MySQL5.6 基于schema的并行復(fù)制

slave-parallel-type=DATABASE(不同庫的事務(wù),沒有鎖沖突)

之前說過,并行復(fù)制的目的就是要讓slave盡可能的多線程跑起來,當然基于庫級別的多線程也是一種方式(不同庫的事務(wù),沒有鎖沖突)

先說說優(yōu)點: 實現(xiàn)相對來說簡單,對用戶來說使用起來也簡單
再說說缺點: 由于是基于庫的,那么并行的粒度非常粗,現(xiàn)在很多公司的架構(gòu)是一庫一實例,針對這樣的架構(gòu),5.6的并行復(fù)制無能為力。當然還有就是主從事務(wù)的先后順序,對于5.6也是個大問題

話不多說,來張圖好了

MySQL,并行復(fù)制

四、MySQL5.7 基于group commit的并行復(fù)制

slave-parallel-type=LOGICAL_CLOCK : Commit-Parent-Based模式(同一組的事務(wù)[last-commit相同],沒有鎖沖突. 同一組,肯定沒有沖突,否則沒辦法成為同一組)
slave-parallel-type=LOGICAL_CLOCK : Lock-Based模式(即便不是同一組的事務(wù),只要事務(wù)之間沒有鎖沖突[prepare階段],就可以并發(fā)。 不在同一組,只要N個事務(wù)prepare階段可以重疊,說明沒有鎖沖突)

group commit,之前的文章有詳細描述,這里不多解釋。MySQL5.7在組提交的時候,還為每一組的事務(wù)打上了標記,現(xiàn)在想想就是為了方便進行MTS吧。

我們先看一組binlog

last_committed=0 sequence_number=1last_committed=1 sequence_number=2last_committed=2 sequence_number=3last_committed=3 sequence_number=4last_committed=4 sequence_number=5last_committed=4 sequence_number=6last_committed=4 sequence_number=7last_committed=6 sequence_number=8last_committed=6 sequence_number=9last_committed=9 sequence_number=10

4.1 Commit-Parent-Based模式

MySQL,并行復(fù)制

4.2 Lock-Based模式

MySQL,并行復(fù)制

五、MySQL8.0 基于write-set的并行復(fù)制

基于主鍵的沖突檢測(binlog_transaction_depandency_tracking = COMMIT_ORDERE|WRITESET|WRITESET_SESSION, 修改的row的主鍵或非空唯一鍵沒有沖突,即可并行)
5.7.22 也支持了 write-set 機制

事務(wù)依賴關(guān)系:binlog_transaction_depandency_tracking = COMMIT_ORDERE|WRITESET|WRITESET_SESSION

COMMIT_ORDERE: 繼續(xù)基于組提交方式
WRITESET: 基于寫集合決定事務(wù)依賴
WRITESET_SESSION: 基于寫集合,但是同一個session中的事務(wù)不會有相同的last_committed

事務(wù)檢測算法:transaction_write_set_extraction = OFF| XXHASH64 | MURMUR32

MySQL會有一個變量來存儲已經(jīng)提交的事務(wù)HASH值,所有已經(jīng)提交的事務(wù)所修改的主鍵(或唯一鍵)的值經(jīng)過hash后都會與那個變量的集合進行對比,來判斷改行是否與其沖突,并以此來確定依賴關(guān)系

這里說的變量,可以通過這個設(shè)置大小: binlog_transaction_dependency_history_size

這樣的粒度,就到了 row級別了,此時并行的粒度更加精細,并行的速度會更快,某些情況下,說slave的并行度超越master也不為過(master是單線程的寫,slave也可以并行回放)

六、如何讓slave的并行復(fù)制和master的事務(wù)執(zhí)行的順序一致呢

5.7.19 之后,可以通過設(shè)置 slave_preserve_commit_order = 1

官方解釋:  

For multithreaded slaves, enabling this variable ensures that transactions are externalized on the slave in the same order as they appear in the slave's relay log.   
Setting this variable has no effect on slaves for which multithreading is not enabled.   
All replication threads (for all replication channels if you are using multiple replication channels) must be stopped before changing this variable.   
--log-bin and --log-slave-updates must be enabled on the slave.   
In addition --slave-parallel-type must be set to LOGICAL_CLOCK.  
Once a multithreaded slave has been started, transactions can begin to execute in parallel.   
With slave_preserve_commit_order enabled, the executing thread waits until all previous transactions are committed before committing.   
While the slave thread is waiting for other workers to commit their transactions it reports its status as Waiting for preceding transaction to commit.

大致實現(xiàn)原理就是:excecution階段可以并行執(zhí)行,binlog flush的時候,按順序進行。 引擎層提交的時候,根據(jù)binlog_order_commit也是排隊順序完成  

換句話說,如果設(shè)置了這個參數(shù),master是怎么并行的,slave就怎么辦并行

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網(wǎng)的支持。


注:相關(guān)教程知識閱讀請移步到MYSQL教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
天天av天天爱| 成年人在线观看| 五月婷婷在线观看| 开心激情五月婷婷| 国产永久免费| 中文字幕在线免费| 中文字幕成人乱码在线电影| **三级三级97片毛片| 国产黄视频网站| 日本一二区视频| 麻豆精品不卡国产免费看| 牛牛热在线视频| 国产黄在线观看| 国产不卡精品一区二区三区| 国产精品jvid在线观看| 国产精品白浆流出视频| 中文av资源在线| 交视频在线观看国产| 最新中文字幕在线| 在线观看中文| 最新天堂资源在线| 99福利在线| 国产精品自拍亚洲| 69国产精品| 国产自产视频| av在线免费播放网站| 国产精品亚洲色图| 永久免费av网站| 国产专区在线播放| 在线一区观看| 国产性色视频| 狠狠狠狠狠狠操| 亚洲91av| 精品网站www| 国产亚洲精品拍拍拍拍拍| 欧美国产中文| 日本福利在线观看| 国产福利在线视频| 国产精品自产拍在线网站| eeuss影院在线观看| 国产福利小视频在线| 国产裸舞福利在线视频合集 | 日本成人在线播放| 国产精品yjizz视频网一二区| 激情综合丁香| av在线你懂的| www.91在线播放| 欧美午夜电影一区二区三区| 日日夜夜中文字幕| 麻豆视频国产| 综合图区亚洲白拍在线 | 欧美韩日国产| 欧美日韩视频精品一区二区| 亚洲最新永久观看在线| 夜夜操com| 777电影在线观看| 91www在线观看| a√在线视频| 亚洲欧美日韩一区成人| jizz国产| 久久久久久91精品色婷婷| 午夜av电影| 精品国产一区二区三区不卡在线 | 国产精品视频二区三区| 国产一二区视频| 91欧美在线视频| 在线观看av网站永久| 亚洲精品自拍区在线观看| av网站在线播放| 亚洲www色| 狠狠干在线视频| 国产精彩视频在线观看免费蜜芽| 国产精品久久久久久久久鸭| 国产91足控脚交在线观看| 亚洲成年人视频| 国产视频福利| 欧洲一区av| 国产高清av在线| 国产69久久| 亚洲欧美日韩综合精品网| 国产精品一区二区三区视频网站| 91精品专区| 黄色一级片视频| 国产精品入口麻豆免费看| 精品欧美日韩一区二区| 国产精品一卡二卡三卡| 天天插天天操| 国产精品伦理一区二区三区| 女人色在线免费视频| 国产视频你懂的| 成人午夜无人区一区二区| 国产www网站| 最近免费中文字幕在线第一页| 精品国产一区二区三区四区阿崩| 男人天堂99| 日本在线视频www鲁啊鲁| 国产高清在线观看| 成视频年人免费看黄网站| 国产激情自拍| 国产美女性感在线观看懂色av| 永久免费在线观看| 国产经典自拍视频在线观看| 最近中文字幕在线中文视频| 国产中文字幕网| 免费在线观看a| 午夜性爽视频男人的天堂| 一本大道久久精品| av资源网站在线观看| 亚洲一道本在线| 永久免费网站在线| 夜色资源网av在先锋网站观看| 国产成人精品久久一区二区小说| 国产视频一二三区| 国产一二三区精品视频| 国产精品一区二区三区视频网站| 久热免费视频| gogo高清在线播放免费| av大片在线| 精品国产免费第一区二区| 国产99re| 四虎一区二区三区| 阿v免费在线观看| 黄网址在线播放免费| 国产69久久| 91最新在线| 青青草在线免费观看| 成网站在线观看人免费| 国产青草视频在线观看视频| 国产天堂资源| 在线国产中文字幕| 国产成人天天5g影院| 国产黄色免费| 亚洲一区免费在线| 在线成人综合色一区| 国产自产视频| 91亚洲欧美| 黄色毛片在线观看| 精品一区二区三区在线成人| 欧美日韩在线精品成人综合网| 国产中文字幕在线看| 精品伦理一区二区| 国产乱妇乱子在线播视频播放网站 | eeuss影院在线播放| 九九免费视频| 精品欧美日韩一区二区| 久久久久久久久亚洲精品| 国产a级网站| 国产精品一区二区三区视频网站 | 日本亚洲欧美| 国产福利小视频在线观看| 黄色网页网址在线免费| 中文av在线播放| 国产一二三区精品视频| 久久久久久日本一区99| 国产不卡一卡2卡三卡4卡5卡在线| 青青草观看免费视频在线| 2019中文字幕视频| 国产精品伦一区二区三区视频| 九九热在线观看视频| 亚洲综合色视频在线观看| 国产变态拳头交视频一区二区 | 午夜在线观看91| 精品国产白色丝袜高跟鞋| 中文字幕在线看精品乱码| 女人色在线免费视频| 亚洲成人av高清| 一本免费视频| 伊人狠狠av| 在线视频婷婷| 在线视频99| 在线观看国产视频| 亚洲男人网站| 女子免费在线观看视频www| 男人天堂亚洲| www.超级碰| 四虎www视频| 免费看黄视频网站| 开心婷婷激情| 国产乱精品一区二区三区| 天堂资源在线中文| 国产区视频在线播放| 国产三级视频在线| 国产精品久久久高清免费| 精品麻豆视频| 久久五月精品中文字幕| 最近中文字幕mv免费高清在线| 中文字幕国产视频| 国产情侣高潮对白| 人人澡人人爽| 国产精选在线观看| 精品伦理一区二区| 青青草原国产在线| 国产欧美日韩专区| 男女午夜视频在线观看| 国产性一级片| 免费国产阿v视频在线观看| 国产丝袜视频在线播放| 性国产高清在线观看| 国产九九九九| 先锋影音av中文字幕|