電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>傳感與控制>分布式事務(wù)控制的原理實(shí)例分析

分布式事務(wù)控制的原理實(shí)例分析

2017-09-28 | rar | 0.6 MB | 次下載 | 2積分

資料介紹

  對(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所示。

  分布式事務(wù)控制的原理實(shí)例分析

  圖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釋放。

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1TC358743XBG評(píng)估板參考手冊(cè)
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開關(guān)電源基礎(chǔ)知識(shí)
  4. 5.73 MB  |  11次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計(jì)
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5DIY動(dòng)手組裝LED電子顯示屏
  10. 0.98 MB  |  3次下載  |  免費(fèi)
  11. 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
  12. 0.70 MB  |  2次下載  |  免費(fèi)
  13. 751單片機(jī)PM2.5檢測(cè)系統(tǒng)程序
  14. 0.83 MB  |  2次下載  |  免費(fèi)
  15. 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537797次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191186次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)