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