小編給大家分享一下MySQL Write Set的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的任縣網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
基于MYSQL 的組復(fù)制,其實(shí)已經(jīng)是一項(xiàng)成熟的技術(shù)了,從MYSQL 5.6 開始,到目前的8 ,屬于接近初成熟的階段。
但到底 GROUP REPLICATION 到底為什么比傳統(tǒng)的主從復(fù)制要快,這是一個(gè)問題。我們現(xiàn)在就來說說為什么組復(fù)制要比你的傳統(tǒng)復(fù)制快。
首先我們要理解兩個(gè)事情,為什么要組復(fù)制,理由無非兩個(gè)
1 提供成員之間更快的復(fù)制
2 提供多成員之間的認(rèn)證
到底WRITE-SET 比原先的復(fù)制哪里快了
首先我們要了解幾個(gè)問題和相關(guān)的參數(shù)
binlog_transaction_dependency_tracking
這個(gè)參數(shù)有三個(gè)設(shè)置的選擇項(xiàng)
1 commit_order 默認(rèn)值,在從庫(kù)進(jìn)行順序型的應(yīng)用
2 writeset 依賴主庫(kù)的事務(wù)的關(guān)聯(lián)性,在從庫(kù)可以進(jìn)行非順序型的并行應(yīng)用
3 writeset_session 和第二點(diǎn)的不同在于SESSION的隔離性
我們可以比對(duì) commit_order 和 writeset_session 之間的區(qū)別
首先我們可以創(chuàng)建一個(gè)表,并插入記錄,然后觀察LOG 中兩個(gè)不同的參數(shù)的變化。
CREATE DATABASE test;
CREATE TABLE test ( id int NOT NULL AUTO_INCREMENT PRIMARY KEY, text varchar(80) );
insert into test (text) values ('3dsjfuiuiree');
insert into test (text) values ('3dereresdfere');
insert into test (text) values ('vcdreresdfere');
我們可以看圖,5個(gè)操作進(jìn)行 last_committed 可以很明顯的看到前兩個(gè)操作是不能進(jìn)行組提交的,而后面三個(gè)是可以進(jìn)行組提交的。
如果我們改變相關(guān)的設(shè)置,改為order_commit ,三臺(tái)組復(fù)制的機(jī)器上都更改了,但是結(jié)果和預(yù)想的不一樣,根本沒有用,提交的的時(shí)候無論你是更改成 commit_order ,還是 binlog_tranaction_dependency_history_size 設(shè)置為 1 都不能阻擋 MGR 的組提交方式。
而令我疑惑的是 binlog_tranaction_dependency_history_size 本身就是一個(gè)內(nèi)存的hash ,我已經(jīng)將其調(diào)整為1 ,怎么會(huì)commit 的
If we use dependency tracking using WRITESETs on the master, those writesets are preserved over time, up to a maximum history size, and then the dependency information is generated based on that.
所有我的測(cè)試對(duì)象又轉(zhuǎn)移到,傳統(tǒng)的GTID 復(fù)制的機(jī)器上面, 兩臺(tái)機(jī)器然后最簡(jiǎn)單的主從復(fù)制,然后將復(fù)制的方式改為
set global binlog_transaction_dependency_tracking = writeset
然后去觀察relay log 發(fā)現(xiàn)怎么樣都不是組提交的方式,還是按照commit_order的方式進(jìn)行提交 。
看完了這篇文章,相信你對(duì)“MYSQL Write Set的示例分析”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
當(dāng)前題目:MYSQLWriteSet的示例分析
URL網(wǎng)址:http://chinadenli.net/article4/pijpoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、電子商務(wù)、標(biāo)簽優(yōu)化、企業(yè)網(wǎng)站制作、營(yíng)銷型網(wǎng)站建設(shè)、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)