資料介紹
對于分布式數(shù)據(jù)庫而言,分布式事務(wù)控制是重點和難點,一直以來沒有成熟的方案可以突破CAP理論,幾乎每個分布式數(shù)據(jù)庫研發(fā)團隊都在分布式事務(wù)控制方案上結(jié)合了各自應(yīng)用特點,進行了針對性的取舍,可以說是八仙過海各顯神通。以下是我對分布式事務(wù)控制的理解:
分布式事務(wù)控制的最終目標(biāo)是實現(xiàn)一致性,方案大體分為實時一致性和最終一致性兩種。兩階段提交是比較典型的實時一致性方案,提供補償事務(wù)和基于消息隊列的異步處理方案是最終一致性方案。兩階段提交由于同步阻塞、存在臟讀可能性等問題,在某些銀行的應(yīng)用場景下無法使用,如果將隔離級別修改為串行化則可以解決臟讀問題,但對性能影響較大。基于消息隊列的異步處理方案將事務(wù)拆分成多個本地子事務(wù),子事務(wù)之間通過消息隊列銜接,實現(xiàn)串行執(zhí)行,單個子事務(wù)占用資源的時間很短,并發(fā)度高。但這種最終一致性方案如果應(yīng)用到銀行的應(yīng)用中勢必影響用戶體驗,而且對應(yīng)用侵略性較大,實施成本高。
在分析了以上事務(wù)處理方案的優(yōu)缺點之后,根據(jù)銀行業(yè)務(wù)對實時一致性的要求,考慮到用戶體驗和實施成本的影響,我們提出了基于全局事務(wù)ID(Global transaction ID,以下簡稱GTID)的分布式事務(wù)解決方案。
基本原理
在基于GTID的分布式事務(wù)方案(以下簡稱本方案)中,我們把協(xié)調(diào)參與者和記錄全局事務(wù)狀態(tài)這兩個功能分開,用計算節(jié)點協(xié)調(diào)各事務(wù)參與者進行事務(wù)操作,全局事務(wù)管理器僅管理全局事務(wù)的狀態(tài)。為了確保事務(wù)狀態(tài)正常,全局事務(wù)管理采用了實時持久化和實時同步到備機等多重保障機制。本方案事務(wù)管理架構(gòu)如圖1所示。

圖1 基于GTID的分布式事務(wù)管理方案
兩(三)階段提交的核心思想是通過前期的多次準(zhǔn)備和協(xié)調(diào)工作,盡可能讓最后的提交操作能夠成功。而本方案認(rèn)為大部分事務(wù)都可以一次提交成功,因此采用一階段提交+補償事務(wù)的方式,如果事務(wù)在提交階段有部分節(jié)點提交失敗,本方案將回滾已成功提交的事務(wù),而不是讓失敗的節(jié)點不斷重試。與兩(三)階段提交相比,本方案在大部分情況下減少了與數(shù)據(jù)節(jié)點的交互次數(shù),降低了鎖沖突概率,提升了事務(wù)處理效率。
建表時增加一個隱藏字段,用于記錄GTID。
每個事務(wù)開始時為其申請一個GTID,該GTID是全局唯一且單調(diào)遞增的,GTID申請成功后,我們稱該GTID為活躍(Active)狀態(tài),對應(yīng)該GTID的事務(wù)狀態(tài)為未提交狀態(tài),若涉及到數(shù)據(jù)更新,則將GTID更新到本事務(wù)將要更新的數(shù)據(jù)中,事務(wù)成功提交后,將GTID釋放,此時我們稱GTID為非活躍(UnActive)狀態(tài),對應(yīng)的事務(wù)狀態(tài)為已提交狀態(tài)。
當(dāng)事務(wù)提交失敗時,提交失敗節(jié)點會自動回滾,對于已成功提交的節(jié)點,需要將其回滾,數(shù)據(jù)恢復(fù)到更新前的狀態(tài),全部節(jié)點回滾完成后,同樣需要將GTID釋放。
掃碼添加小助手
加入工程師交流群
- 分布式電源對配電系統(tǒng)的影響分析
- 基于KingSCADA的分布式運動控制監(jiān)測系統(tǒng) 10次下載
- 基于DSP的航空發(fā)動機分布式總線設(shè)計方案 14次下載
- 如何設(shè)計和實現(xiàn)基于UART的機器人分布式控制通信協(xié)議概述 7次下載
- 分布式電源對配電網(wǎng)電壓優(yōu)化控制 1次下載
- DBA迅速解決分布式事務(wù)XA一致性問題 3次下載
- F0rCES路由器分布式事務(wù)研究 17次下載
- 新型的高壓變頻分布式控制系統(tǒng) 40次下載
- 基于分布式電源的微網(wǎng)的設(shè)計與運行 51次下載
- 工業(yè)機器人分布式控制系統(tǒng)實例 112次下載
- 基于Pocket PC的分布式程序設(shè)計
- 結(jié)合PKI與Kerberos的分布式認(rèn)證與訪問控制
- 基于入侵容忍的分布式數(shù)據(jù)庫安全體系結(jié)構(gòu)
- LabVIEW用于分布式測量與控制系統(tǒng)
- 分布式微機電系統(tǒng)的多主體控制
- 【節(jié)能學(xué)院】Acrel-1000DP分布式光伏監(jiān)控系統(tǒng)在奉賢平高食品 4.4MW 分布式光伏中應(yīng)用 3.4k次閱讀
- 遠(yuǎn)程IO與分布式IO的區(qū)別 5k次閱讀
- Java手寫分布式鎖的實現(xiàn) 1.3k次閱讀
- tldb提供分布式鎖使用方法 1.7k次閱讀
- 深入理解redis分布式鎖 1.7k次閱讀
- 鴻蒙分布式相機“踩坑”分享 3.1k次閱讀
- 利用NI VeriStand 2010實現(xiàn)分布式同步系統(tǒng)的設(shè)計 4.1k次閱讀
- 詳談分布式系統(tǒng)的定義及屬性 4.6k次閱讀
- 分布式光纖傳感器原理_分布式光纖傳感器的應(yīng)用 9.8k次閱讀
- 分布式控制系統(tǒng)的介紹 6.1k次閱讀
- Redis 分布式鎖的正確實現(xiàn)方式 4.1k次閱讀
- 淺談分布式塊存儲的元數(shù)據(jù)服務(wù)設(shè)計 5.4k次閱讀
- 深度解讀分布式存儲技術(shù)之分布式剪枝系統(tǒng) 2.2k次閱讀
- 智能電網(wǎng)中的分布式發(fā)電技術(shù) 1.9k次閱讀
- 基于CAN總線的分布式網(wǎng)架健康狀態(tài)監(jiān)測系統(tǒng)的設(shè)計 1.3k次閱讀
下載排行
本周
- 1CSMD1&TR3A 6 C00 模組-CN-V1
- 960.13 KB | 次下載 | 免費
- 2SC92F8463B/8462B/8461B技術(shù)手冊
- 1.67 MB | 次下載 | 5 積分
- 3基于單片機的額溫槍設(shè)計
- 4.82 MB | 次下載 | 10 積分
- 4AT817晶體管光耦系列
- 1.86 MB | 次下載 | 免費
- 5PCD3901 -40V、1A 超低噪聲 LDO技術(shù)手冊
- 0.90 MB | 次下載 | 免費
- 6湖南泰德航空航空測試系統(tǒng)產(chǎn)品冊
- 25.86 MB | 次下載 | 免費
- 7PAW3311DB光學(xué)鼠標(biāo)導(dǎo)航傳感器數(shù)據(jù)手冊
- 3.20 MB | 次下載 | 2 積分
- 8TI系列-米爾TI AM62L核心板開發(fā)板-高能效低功耗嵌入式平臺
- 1.51 MB | 次下載 | 免費
本月
- 1美的電磁爐電路原理圖資料
- 4.39 MB | 16次下載 | 10 積分
- 2冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 7次下載 | 10 積分
- 3SDFM 激光測距模塊模組手冊
- 0.54 MB | 7次下載 | 免費
- 4SW6238V ACCC 三 PD 四口多協(xié)議移動電源 SOC規(guī)格書
- 0.59 MB | 5次下載 | 1 積分
- 5反激式開關(guān)電源設(shè)計解析
- 0.89 MB | 4次下載 | 5 積分
- 6IP6742_datasheet_100V8A 同步 BUCK 控制器
- 2.16 MB | 3次下載 | 免費
- 7SDM02 激光測距模塊產(chǎn)品手冊
- 0.43 MB | 2次下載 | 免費
- 8PAW3395DM-T6QU:光學(xué)游戲?qū)Ш叫酒謨?/a>
- 1.26 MB | 2次下載 | 10 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233094次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191448次下載 | 10 積分
- 5十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183360次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81605次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73829次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





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