資料介紹
對(duì)于分布式數(shù)據(jù)庫(kù)而言,分布式事務(wù)控制是重點(diǎn)和難點(diǎn),一直以來(lái)沒(méi)有成熟的方案可以突破CAP理論,幾乎每個(gè)分布式數(shù)據(jù)庫(kù)研發(fā)團(tuán)隊(duì)都在分布式事務(wù)控制方案上結(jié)合了各自應(yīng)用特點(diǎn),進(jìn)行了針對(duì)性的取舍,可以說(shuō)是八仙過(guò)海各顯神通。以下是我對(duì)分布式事務(wù)控制的理解:
分布式事務(wù)控制的最終目標(biāo)是實(shí)現(xiàn)一致性,方案大體分為實(shí)時(shí)一致性和最終一致性兩種。兩階段提交是比較典型的實(shí)時(shí)一致性方案,提供補(bǔ)償事務(wù)和基于消息隊(duì)列的異步處理方案是最終一致性方案。兩階段提交由于同步阻塞、存在臟讀可能性等問(wèn)題,在某些銀行的應(yīng)用場(chǎng)景下無(wú)法使用,如果將隔離級(jí)別修改為串行化則可以解決臟讀問(wèn)題,但對(duì)性能影響較大?;谙㈥?duì)列的異步處理方案將事務(wù)拆分成多個(gè)本地子事務(wù),子事務(wù)之間通過(guò)消息隊(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è)功能分開(kāi),用計(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ù)管理方案
兩(三)階段提交的核心思想是通過(guò)前期的多次準(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ù)開(kāi)始時(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一致性問(wèn)題 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)證與訪問(wèn)控制
- 基于入侵容忍的分布式數(shù)據(jù)庫(kù)安全體系結(jié)構(gòu)
- LabVIEW用于分布式測(cè)量與控制系統(tǒng)
- 分布式微機(jī)電系統(tǒng)的多主體控制
- 【節(jié)能學(xué)院】Acrel-1000DP分布式光伏監(jiān)控系統(tǒng)在奉賢平高食品 4.4MW 分布式光伏中應(yīng)用 3.4k次閱讀
- 遠(yuǎn)程IO與分布式IO的區(qū)別 5k次閱讀
- Java手寫(xiě)分布式鎖的實(shí)現(xiàn) 1.3k次閱讀
- tldb提供分布式鎖使用方法 1.7k次閱讀
- 深入理解redis分布式鎖 1.7k次閱讀
- 鴻蒙分布式相機(jī)“踩坑”分享 3.1k次閱讀
- 利用NI VeriStand 2010實(shí)現(xiàn)分布式同步系統(tǒng)的設(shè)計(jì) 4.1k次閱讀
- 詳談分布式系統(tǒng)的定義及屬性 4.6k次閱讀
- 分布式光纖傳感器原理_分布式光纖傳感器的應(yīng)用 9.8k次閱讀
- 分布式控制系統(tǒng)的介紹 6.1k次閱讀
- Redis 分布式鎖的正確實(shí)現(xiàn)方式 4.1k次閱讀
- 淺談分布式塊存儲(chǔ)的元數(shù)據(jù)服務(wù)設(shè)計(jì) 5.4k次閱讀
- 深度解讀分布式存儲(chǔ)技術(shù)之分布式剪枝系統(tǒng) 2.2k次閱讀
- 智能電網(wǎng)中的分布式發(fā)電技術(shù) 1.9k次閱讀
- 基于CAN總線的分布式網(wǎng)架健康狀態(tài)監(jiān)測(cè)系統(tǒng)的設(shè)計(jì) 1.3k次閱讀
下載排行
本周
- 1MDD品牌三極管BC807數(shù)據(jù)手冊(cè)
- 3.00 MB | 次下載 | 免費(fèi)
- 2MDD品牌三極管BC817數(shù)據(jù)手冊(cè)
- 2.51 MB | 次下載 | 免費(fèi)
- 3MDD品牌三極管D882數(shù)據(jù)手冊(cè)
- 3.49 MB | 次下載 | 免費(fèi)
- 4MDD品牌三極管MMBT2222A數(shù)據(jù)手冊(cè)
- 3.26 MB | 次下載 | 免費(fèi)
- 5MDD品牌三極管MMBTA56數(shù)據(jù)手冊(cè)
- 3.09 MB | 次下載 | 免費(fèi)
- 6MDD品牌三極管MMBTA92數(shù)據(jù)手冊(cè)
- 2.32 MB | 次下載 | 免費(fèi)
- 7STM32G474 HRTIME PWM 丟波問(wèn)題分析與解決
- 1.00 MB | 次下載 | 3 積分
- 8新能源電動(dòng)汽車高壓線束的銅鋁連接解決方案
- 2.71 MB | 次下載 | 2 積分
本月
- 1愛(ài)華AIWA HS-J202維修手冊(cè)
- 3.34 MB | 37次下載 | 免費(fèi)
- 2NB-IoT芯片廠商的資料說(shuō)明
- 0.31 MB | 22次下載 | 1 積分
- 3PC5502負(fù)載均流控制電路數(shù)據(jù)手冊(cè)
- 1.63 MB | 22次下載 | 免費(fèi)
- 4H110主板CPU PWM芯片ISL95858HRZ-T核心供電電路圖資料
- 0.63 MB | 6次下載 | 1 積分
- 5UWB653Pro USB口測(cè)距通信定位模塊規(guī)格書(shū)
- 838.47 KB | 5次下載 | 免費(fèi)
- 6技嘉H110主板IT8628E_BX IO電路圖資料
- 2.61 MB | 4次下載 | 1 積分
- 7蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 8蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191439次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問(wèn)
發(fā)資料
發(fā)視頻
上傳資料賺積分
評(píng)論