資料介紹
對(duì)于分布式數(shù)據(jù)庫而言,分布式事務(wù)控制是重點(diǎn)和難點(diǎn),一直以來沒有成熟的方案可以突破CAP理論,幾乎每個(gè)分布式數(shù)據(jù)庫研發(fā)團(tuán)隊(duì)都在分布式事務(wù)控制方案上結(jié)合了各自應(yīng)用特點(diǎn),進(jìn)行了針對(duì)性的取舍,可以說是八仙過海各顯神通。以下是我對(duì)分布式事務(wù)控制的理解:
分布式事務(wù)控制的最終目標(biāo)是實(shí)現(xiàn)一致性,方案大體分為實(shí)時(shí)一致性和最終一致性兩種。兩階段提交是比較典型的實(shí)時(shí)一致性方案,提供補(bǔ)償事務(wù)和基于消息隊(duì)列的異步處理方案是最終一致性方案。兩階段提交由于同步阻塞、存在臟讀可能性等問題,在某些銀行的應(yīng)用場(chǎng)景下無法使用,如果將隔離級(jí)別修改為串行化則可以解決臟讀問題,但對(duì)性能影響較大?;谙㈥?duì)列的異步處理方案將事務(wù)拆分成多個(gè)本地子事務(wù),子事務(wù)之間通過消息隊(duì)列銜接,實(shí)現(xiàn)串行執(zhí)行,單個(gè)子事務(wù)占用資源的時(shí)間很短,并發(fā)度高。但這種最終一致性方案如果應(yīng)用到銀行的應(yīng)用中勢(shì)必影響用戶體驗(yàn),而且對(duì)應(yīng)用侵略性較大,實(shí)施成本高。
在分析了以上事務(wù)處理方案的優(yōu)缺點(diǎn)之后,根據(jù)銀行業(yè)務(wù)對(duì)實(shí)時(shí)一致性的要求,考慮到用戶體驗(yàn)和實(shí)施成本的影響,我們提出了基于全局事務(wù)ID(Global transaction ID,以下簡(jiǎn)稱GTID)的分布式事務(wù)解決方案。
基本原理
在基于GTID的分布式事務(wù)方案(以下簡(jiǎn)稱本方案)中,我們把協(xié)調(diào)參與者和記錄全局事務(wù)狀態(tài)這兩個(gè)功能分開,用計(jì)算節(jié)點(diǎn)協(xié)調(diào)各事務(wù)參與者進(jìn)行事務(wù)操作,全局事務(wù)管理器僅管理全局事務(wù)的狀態(tài)。為了確保事務(wù)狀態(tài)正常,全局事務(wù)管理采用了實(shí)時(shí)持久化和實(shí)時(shí)同步到備機(jī)等多重保障機(jī)制。本方案事務(wù)管理架構(gòu)如圖1所示。
圖1 基于GTID的分布式事務(wù)管理方案
兩(三)階段提交的核心思想是通過前期的多次準(zhǔn)備和協(xié)調(diào)工作,盡可能讓最后的提交操作能夠成功。而本方案認(rèn)為大部分事務(wù)都可以一次提交成功,因此采用一階段提交+補(bǔ)償事務(wù)的方式,如果事務(wù)在提交階段有部分節(jié)點(diǎn)提交失敗,本方案將回滾已成功提交的事務(wù),而不是讓失敗的節(jié)點(diǎn)不斷重試。與兩(三)階段提交相比,本方案在大部分情況下減少了與數(shù)據(jù)節(jié)點(diǎn)的交互次數(shù),降低了鎖沖突概率,提升了事務(wù)處理效率。
建表時(shí)增加一個(gè)隱藏字段,用于記錄GTID。
每個(gè)事務(wù)開始時(shí)為其申請(qǐng)一個(gè)GTID,該GTID是全局唯一且單調(diào)遞增的,GTID申請(qǐng)成功后,我們稱該GTID為活躍(Active)狀態(tài),對(duì)應(yīng)該GTID的事務(wù)狀態(tài)為未提交狀態(tài),若涉及到數(shù)據(jù)更新,則將GTID更新到本事務(wù)將要更新的數(shù)據(jù)中,事務(wù)成功提交后,將GTID釋放,此時(shí)我們稱GTID為非活躍(UnActive)狀態(tài),對(duì)應(yīng)的事務(wù)狀態(tài)為已提交狀態(tài)。
當(dāng)事務(wù)提交失敗時(shí),提交失敗節(jié)點(diǎn)會(huì)自動(dòng)回滾,對(duì)于已成功提交的節(jié)點(diǎn),需要將其回滾,數(shù)據(jù)恢復(fù)到更新前的狀態(tài),全部節(jié)點(diǎn)回滾完成后,同樣需要將GTID釋放。
- 分布式電源對(duì)配電系統(tǒng)的影響分析
- 基于KingSCADA的分布式運(yùn)動(dòng)控制監(jiān)測(cè)系統(tǒng) 10次下載
- 基于DSP的航空發(fā)動(dòng)機(jī)分布式總線設(shè)計(jì)方案 14次下載
- 如何設(shè)計(jì)和實(shí)現(xiàn)基于UART的機(jī)器人分布式控制通信協(xié)議概述 7次下載
- 分布式電源對(duì)配電網(wǎng)電壓優(yōu)化控制 1次下載
- DBA迅速解決分布式事務(wù)XA一致性問題 3次下載
- F0rCES路由器分布式事務(wù)研究 17次下載
- 新型的高壓變頻分布式控制系統(tǒng) 40次下載
- 基于分布式電源的微網(wǎng)的設(shè)計(jì)與運(yùn)行 51次下載
- 工業(yè)機(jī)器人分布式控制系統(tǒng)實(shí)例 112次下載
- 基于Pocket PC的分布式程序設(shè)計(jì)
- 結(jié)合PKI與Kerberos的分布式認(rèn)證與訪問控制
- 基于入侵容忍的分布式數(shù)據(jù)庫安全體系結(jié)構(gòu)
- LabVIEW用于分布式測(cè)量與控制系統(tǒng)
- 分布式微機(jī)電系統(tǒng)的多主體控制
- 遠(yuǎn)程IO與分布式IO的區(qū)別 1322次閱讀
- Java手寫分布式鎖的實(shí)現(xiàn) 424次閱讀
- tldb提供分布式鎖使用方法 761次閱讀
- 深入理解redis分布式鎖 761次閱讀
- 鴻蒙分布式相機(jī)“踩坑”分享 1577次閱讀
- Redis分布式鎖真的安全嗎? 880次閱讀
- 利用NI VeriStand 2010實(shí)現(xiàn)分布式同步系統(tǒng)的設(shè)計(jì) 3154次閱讀
- 詳談分布式系統(tǒng)的定義及屬性 3689次閱讀
- 分布式光纖傳感器原理_分布式光纖傳感器的應(yīng)用 8424次閱讀
- 分布式控制系統(tǒng)的介紹 5215次閱讀
- Redis 分布式鎖的正確實(shí)現(xiàn)方式 3483次閱讀
- 淺談分布式塊存儲(chǔ)的元數(shù)據(jù)服務(wù)設(shè)計(jì) 4871次閱讀
- 深度解讀分布式存儲(chǔ)技術(shù)之分布式剪枝系統(tǒng) 1773次閱讀
- 智能電網(wǎng)中的分布式發(fā)電技術(shù) 1597次閱讀
- 基于CAN總線的分布式網(wǎng)架健康狀態(tài)監(jiān)測(cè)系統(tǒng)的設(shè)計(jì) 963次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 11次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5DIY動(dòng)手組裝LED電子顯示屏
- 0.98 MB | 3次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)PM2.5檢測(cè)系統(tǒng)程序
- 0.83 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537797次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191186次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多