MySQL集群中面向DDL操作的主從同步優(yōu)化方法研究
發(fā)布時間:2021-04-06 03:23
近年來,基于讀寫分離架構(gòu)的分布式數(shù)據(jù)庫設(shè)計,在國內(nèi)外許多系統(tǒng)中的應(yīng)用日漸廣泛,主機(jī)和從機(jī)之間通過數(shù)據(jù)復(fù)制技術(shù)進(jìn)行同步而存在的延遲問題,受到了業(yè)界的廣泛關(guān)注,數(shù)據(jù)庫主從同步成為了一個重要的研究方向。MySQL數(shù)據(jù)庫作為市場占比第二的數(shù)據(jù)庫,由于其開源的特性,被許多互聯(lián)網(wǎng)企業(yè)所青睞,因此研究MySQL數(shù)據(jù)庫集群的主從同步優(yōu)化方法具有重要的意義和價值。針對MySQL集群在面對DDL操作時會出現(xiàn)的主從同步延遲加重的問題,對MySQL基于事務(wù)成組提交的并行復(fù)制技術(shù)進(jìn)行了深入的研究,提出了能夠讓更多的DDL事務(wù)和DML事務(wù)在從機(jī)并行回放的優(yōu)化方法。該優(yōu)化方法首先改造DML事務(wù)在從機(jī)的回放機(jī)制,然后對單個事務(wù)的二進(jìn)制日志的組織順序做了調(diào)整,最后讓從機(jī)可以提前開始回放DDL事務(wù),從而增加從機(jī)事務(wù)回放的并行度;同時對主機(jī)上基于寫集合的事務(wù)成組提交策略進(jìn)行優(yōu)化,在保證數(shù)據(jù)一致性的前提下,從機(jī)不等DDL事務(wù)回放完成,便提前回放DDL事務(wù)之后的DML事務(wù),來提高從機(jī)事務(wù)回放的效率,最終以實(shí)現(xiàn)降低DDL操作帶來的主從同步性能波動的目標(biāo)。在對真實(shí)業(yè)務(wù)場景的模擬和實(shí)驗(yàn)中,通過對比優(yōu)化方法實(shí)現(xiàn)前后MySQL數(shù)據(jù)庫集群...
【文章來源】:華中科技大學(xué)湖北省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:64 頁
【學(xué)位級別】:碩士
【部分圖文】:
DDL事務(wù)在從機(jī)提前回放的流程圖
trx3 和 trx4,trx3 在 DDL 事務(wù)之前提交,而 trx4 卻在 DDL 事務(wù)之后提交。同理,讓有沖突的 DML 事務(wù)在從機(jī)提前回放,無法保證 DML 事務(wù)和 DDL 事務(wù)之間提交的順序和主機(jī)保持一致,就會導(dǎo)致數(shù)據(jù)不一致的問題發(fā)生。因此讓 DML 事務(wù)在從機(jī)提前回放的關(guān)鍵在于,只能讓與 DDL 事務(wù)不沖突的 DML 事務(wù)在從機(jī)提前回放,而不能讓與 DDL 事務(wù)有沖突的 DML 事務(wù)在從機(jī)提前回放。
3. 事務(wù)管理。從機(jī)上Coordinator線程按日志事件解析relay log文件中的binlog,以事務(wù)為單位,將該事務(wù)所有的日志事件分發(fā)給同一個 Worker 線程處理。4. 日志重做。從機(jī)上的線程會根據(jù)日志事件來重做數(shù)據(jù)庫操作,主要任務(wù)是識別日志事件的類型,然后讀取日志事件中記錄的相關(guān)信息,最后調(diào)用存儲引擎對數(shù)據(jù)庫進(jìn)行相應(yīng)的修改操作。
【參考文獻(xiàn)】:
期刊論文
[1]大數(shù)據(jù)分析場景下分布式數(shù)據(jù)庫技術(shù)的應(yīng)用[J]. 齊磊. 移動通信. 2015(12)
[2]基于Oracle RAC的數(shù)據(jù)庫架構(gòu)分析與企業(yè)應(yīng)用[J]. 閆黎. 計算機(jī)系統(tǒng)應(yīng)用. 2013(11)
[3]基于寫操作集的數(shù)據(jù)庫同步復(fù)制模型[J]. 蔡亮,劉騰. 計算機(jī)工程. 2011(13)
[4]Oracle RAC 10g系統(tǒng)高可用性測試及分析[J]. 付社良,田斌. 武漢理工大學(xué)學(xué)報(信息與管理工程版). 2007(02)
碩士論文
[1]基于Redis Cluster的分布式內(nèi)存數(shù)據(jù)庫研究與應(yīng)用[D]. 王紹東.華南理工大學(xué) 2016
本文編號:3120657
【文章來源】:華中科技大學(xué)湖北省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:64 頁
【學(xué)位級別】:碩士
【部分圖文】:
DDL事務(wù)在從機(jī)提前回放的流程圖
trx3 和 trx4,trx3 在 DDL 事務(wù)之前提交,而 trx4 卻在 DDL 事務(wù)之后提交。同理,讓有沖突的 DML 事務(wù)在從機(jī)提前回放,無法保證 DML 事務(wù)和 DDL 事務(wù)之間提交的順序和主機(jī)保持一致,就會導(dǎo)致數(shù)據(jù)不一致的問題發(fā)生。因此讓 DML 事務(wù)在從機(jī)提前回放的關(guān)鍵在于,只能讓與 DDL 事務(wù)不沖突的 DML 事務(wù)在從機(jī)提前回放,而不能讓與 DDL 事務(wù)有沖突的 DML 事務(wù)在從機(jī)提前回放。
3. 事務(wù)管理。從機(jī)上Coordinator線程按日志事件解析relay log文件中的binlog,以事務(wù)為單位,將該事務(wù)所有的日志事件分發(fā)給同一個 Worker 線程處理。4. 日志重做。從機(jī)上的線程會根據(jù)日志事件來重做數(shù)據(jù)庫操作,主要任務(wù)是識別日志事件的類型,然后讀取日志事件中記錄的相關(guān)信息,最后調(diào)用存儲引擎對數(shù)據(jù)庫進(jìn)行相應(yīng)的修改操作。
【參考文獻(xiàn)】:
期刊論文
[1]大數(shù)據(jù)分析場景下分布式數(shù)據(jù)庫技術(shù)的應(yīng)用[J]. 齊磊. 移動通信. 2015(12)
[2]基于Oracle RAC的數(shù)據(jù)庫架構(gòu)分析與企業(yè)應(yīng)用[J]. 閆黎. 計算機(jī)系統(tǒng)應(yīng)用. 2013(11)
[3]基于寫操作集的數(shù)據(jù)庫同步復(fù)制模型[J]. 蔡亮,劉騰. 計算機(jī)工程. 2011(13)
[4]Oracle RAC 10g系統(tǒng)高可用性測試及分析[J]. 付社良,田斌. 武漢理工大學(xué)學(xué)報(信息與管理工程版). 2007(02)
碩士論文
[1]基于Redis Cluster的分布式內(nèi)存數(shù)據(jù)庫研究與應(yīng)用[D]. 王紹東.華南理工大學(xué) 2016
本文編號:3120657
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3120657.html
最近更新
教材專著