什么是兩階段提交和組提交

本篇文章為大家展示了什么是兩階段提交和組提交,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

創新互聯建站是一家專業提供陽城企業網站建設,專注與網站建設、網站設計、H5技術、小程序制作等業務。10年已為陽城眾多企業、政府機構等服務。創新互聯專業的建站公司優惠進行中。

出于性能的考慮,事務在提交時為了保證數據安全,需要將redo和undo數據落盤,不用等待數據落盤。但是MySQL不僅要考慮innodn存儲引擎層的redo數據,還要考慮數據庫上層的binlog數據落盤,已經兩個層面數據落盤的順序問題。兩階段提交可以解決單個事務redo和binlog落盤順序的問題。

兩階段提交(2PC)分為兩個過程:

l  準備階段(prepare phase)

生成xid信息,回滾段設置為prepare狀態,并將redo落盤。

l  提交階段(commit phase)

在binlog生成commit 的XID event,Binlog落盤,釋放回滾段,釋放鎖。

兩階段提交的回滾:
       只寫了redo,沒落盤binlog,回滾。

落盤了redo,binlog落盤成功了,也有commit XID,自然是成功。

落盤了redo,binlog落盤成功了,沒有commit XID,也認為事務已提交。

現在再來思考下一個問題,如果每個事物提交的時候,都要去將redo和binlog落盤,那么瓶頸就在落盤階段被放大了。這個時候就要引入組提交。組提交使得redo和binlog落盤的時候可以批量落盤,多個事務的redo和binlog可以一次fsync操作完成數據落盤,減少了fsync函數的調用,提高了效率。同時innodb存儲引擎層本身就支持組提交。

組提交之后,引入了另一個問題。數據庫上層的binlog寫入順序和innodb層事務提交順序無法保持一致。如果不保持一致,那么就會出現通過在線工具比如xtrabackup備份數據庫搭建主從的時候,出現丟失事務的場景,比如下面:

     什么是兩階段提交和組提交                                        

      binlog提交順序(T1,T2,T3),innodb commit順序(T2,T3,T1),此時innodb檢測到T3上下兩層都已經提交,認為不再需要恢復,那么T1事務在備份的時候沒有經歷兩階段提交,T1的事務在備份的時候數據還是事務開始前的數據,從庫又不再進行恢復,導致T1事務被丟棄。所以后來引進了prepare_commit_mutex,以串行的方式來保證順序,但是這樣會使組提交失效,所以后來提出了BLGC(binary log group commit)

該行為分為三個階段

Flush階段

內存中生成事務的二進制日志

Sync階段

將內存中多個事務的二進制日志調用1次fsync刷盤

Commit階段

二進制日志在內存中會有一個隊列,隊列第一個事務是leader,其他時follower,leader會根據順序調用存儲引擎層事務提交。Innodb本身就支持組提交。

上述內容就是什么是兩階段提交和組提交,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創新互聯行業資訊頻道。

當前標題:什么是兩階段提交和組提交
分享鏈接:http://m.kartarina.com/article16/gechdg.html

成都網站建設公司_創新互聯,為您提供App設計網站內鏈網站維護企業建站動態網站Google

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都定制網站建設
主站蜘蛛池模板: 无码被窝影院午夜看片爽爽jk| 国产精品无码av在线播放| 久久久久久久人妻无码中文字幕爆| 午夜无码伦费影视在线观看| 亚洲va无码手机在线电影| 无码精品A∨在线观看免费| 国产成人无码精品久久久小说| 国产丰满乱子伦无码专区| 亚洲中文字幕无码mv| 一本加勒比HEZYO无码人妻| 99久久无码一区人妻a黑| 国产做无码视频在线观看| 久久久久久久无码高潮| 毛片亚洲AV无码精品国产午夜| 蜜桃无码一区二区三区| 国产亚洲精久久久久久无码| 爆乳无码AV一区二区三区| 久久精品亚洲中文字幕无码麻豆| 特级无码毛片免费视频| 欲色aV无码一区二区人妻| 亚洲av福利无码无一区二区| 日韩精品无码一区二区三区AV| 麻豆亚洲AV成人无码久久精品| 无码爆乳护士让我爽| 久久午夜无码免费| 中文字幕有码无码AV| 精品无码久久久久久久久久| 性色av无码不卡中文字幕| 精品成在人线AV无码免费看| 亚洲av成人无码久久精品| 亚洲爆乳精品无码一区二区三区| 亚洲精品无码成人片在线观看 | 国产日韩精品无码区免费专区国产| 久久久久久亚洲Av无码精品专口 | 免费无码不卡视频在线观看| 亚洲精品无码aⅴ中文字幕蜜桃| av无码免费一区二区三区| 99久久无码一区人妻a黑| 最新亚洲春色Av无码专区| av大片在线无码免费| 无码中文在线二区免费|