版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、分布式事務(wù)中間件JDTX介紹京東數(shù)科強(qiáng)一致、高性能 中間件智慧IT數(shù)據(jù)庫事務(wù)原理分布式事務(wù)的得與失JDTX解決方案詳解目錄CONTENTSJDTX roadmap1234AIDC持久性數(shù)據(jù)持久化 & 恢復(fù)模式一致性強(qiáng)一致 & 最終一致性原子性一損俱損 & 不能一榮俱榮隔離性性能與隔離級別的權(quán)衡原子性 & 持久性恢復(fù)模式內(nèi)存 & 索引客戶端WAL隔離級別:鎖實(shí)現(xiàn)可序列化僅持有一把排他鎖讀讀無法并行可重復(fù)讀讀共享鎖和寫排它鎖互斥讀讀并行讀寫 & 寫讀不可并行讀已提交讀共享鎖可升級為寫排它鎖讀寫并行寫讀不可并行讀未提交讀不加鎖讀寫 & 寫讀并行寫寫不可并行一致性 & 基于鎖的隔離性隔離級別臟讀不可重
2、復(fù)讀幻讀讀未提交可能可能可能讀已提交不可能可能可能可重復(fù)讀不可能不可能可能可序列化不可能不可能不可能隔離級別:MVCC實(shí)現(xiàn)時(shí)間線Tx1Tx2Tx3Tx4Tx5Tx6事務(wù)發(fā)生時(shí)間點(diǎn)快照已提交未提交MVCC隔離級別的實(shí)現(xiàn)讀未提交 & 讀已提交實(shí)現(xiàn)方案:直接讀取MVCC鏈表中已提交的最新數(shù)據(jù)可重復(fù)讀 & 可序列化實(shí)現(xiàn)方案:通過當(dāng)前事務(wù)的快照邊界判斷MVCC鏈表中符合的已提交數(shù)據(jù)TXID 1,快照下界) :過去的事務(wù),對此快照均可見TXID 快照下界,快照上界):仍處于未提交狀態(tài)的事務(wù)不可見處于提交狀態(tài)的事務(wù)可見處于回滾狀態(tài)的事務(wù)不可見TXID 快照上界,),未來的事務(wù),對此快照均不可見MVCC元組數(shù)
3、據(jù)結(jié)構(gòu)created_txiddatadeleted_txid1000version_10INSERTcreated_txiddatadeleted_txidUPDATE10001001version_1Version_210010created_txiddatadeleted_txidDELETE10001001version_1Version_210011002First txid:1000一致性 & 基于MVCC的隔離性隔離級別臟讀不可重復(fù)讀幻讀寫偏序讀未提交無需實(shí)現(xiàn)無需實(shí)現(xiàn)無需實(shí)現(xiàn)可能讀已提交不可能可能可能可能可重復(fù)讀不可能不可能不可能可能可序列化不可能不可能不可能不可能數(shù)據(jù)庫事務(wù)原理
4、分布式事務(wù)的得與失JDTX解決方案詳解目錄CONTENTSJDTX roadmap1234DTP事務(wù)模型 & XA協(xié)議兩階段事務(wù)模型的得失損失收益并發(fā)性能 可用性提交階段失敗的處理分布式柔性事務(wù) & CAP定理柔性事務(wù)模型的得失損失收益一致性 & 隔離性 業(yè)務(wù)侵入分布式 并發(fā)性能數(shù)據(jù)庫事務(wù)原理分布式事務(wù)的得與失JDTX解決方案詳解目錄CONTENTSJDTX roadmap1234目標(biāo)Objective分布式 & 1PC完全摒棄兩階段提交的透明化實(shí)現(xiàn)方案事務(wù)原義支持完全支持ACID的強(qiáng)一致事務(wù)高性能插入性能高于本地事務(wù) 查詢性能高于分布式事務(wù)高可用無中心化架構(gòu)模型跨多元數(shù)據(jù)庫支持RDBMS、N
5、oSQL、MQ等多元資源JDTX內(nèi)部架構(gòu)開啟事務(wù)LSN生成器更新提交回滾恢復(fù)引擎MVCC引擎WAL查詢更新執(zhí)行器查詢執(zhí)行器落盤執(zhí)行器約束校驗(yàn)引擎事務(wù)處理器刪除獲取本地事務(wù)元組更新設(shè)計(jì)亮點(diǎn)Idea無UNDO日志通過約束驗(yàn)證來避免使用undo日志提升性能異步刷盤通過WAL和內(nèi)存的方式異步化刷盤無損事務(wù)方案使用本地事務(wù)API完全支持ACID活動事務(wù)與數(shù)據(jù)存儲分離充分利用數(shù)據(jù)庫存儲引擎的穩(wěn)定性開發(fā)成本最小化充分采用論文思路以及第三方開源實(shí)現(xiàn)難點(diǎn)DifficultyMVCC內(nèi)核完全實(shí)現(xiàn)MVCC機(jī)制SQL支持解析引擎對多種數(shù)據(jù)庫的復(fù)雜SQL支持內(nèi)存查詢引擎內(nèi)存快照數(shù)據(jù)與SQL計(jì)算表達(dá)式的適配刷盤冪等性在消
6、息超時(shí)重試或消費(fèi)端重新負(fù)載均衡時(shí) 保證刷盤正確性高可用絕大部分組件的失效均不影響事務(wù)的正常 運(yùn)行JDTX部署架構(gòu)業(yè)務(wù)代碼JDTX應(yīng)用WAL優(yōu)點(diǎn):各節(jié)點(diǎn)存儲部分事 務(wù)數(shù)據(jù),TPS可水 平擴(kuò)展高可用缺點(diǎn):1.查詢需要跨節(jié)點(diǎn)獲 取數(shù)據(jù)業(yè)務(wù)代碼JDTX應(yīng)用業(yè)務(wù)代碼JDTX應(yīng)用Redis 集群Redis(主)Redis(主)Redis(主)Redis(備)Redis(備)Redis(備)分片JDTX分布式異常梳理 應(yīng)用節(jié)點(diǎn)不可用業(yè)務(wù)代碼JDTX應(yīng)用WAL業(yè)務(wù)代碼JDTX應(yīng)用業(yè)務(wù)代碼JDTX應(yīng)用Redis 集群Redis(主)Redis(主)Redis(主)Redis(備)Redis(備)Redis(備)
7、無影響應(yīng)用無狀態(tài)JDTX分布式異常梳理 Redis節(jié)點(diǎn)全部失效業(yè)務(wù)代碼JDTX應(yīng)用WAL不可用系統(tǒng)無法提供在線服務(wù)數(shù)據(jù)落盤WAL不會丟失可通過恢復(fù)模式恢復(fù)數(shù)據(jù)業(yè)務(wù)代碼JDTX應(yīng)用業(yè)務(wù)代碼JDTX應(yīng)用Redis 集群Redis(主)Redis(主)Redis(主)Redis(備)Redis(備)Redis(備)JDTX分布式異常梳理 WAL不可用業(yè)務(wù)代碼JDTX應(yīng)用WAL高風(fēng)險(xiǎn)應(yīng)用可繼續(xù)運(yùn)行Redis不可用將造成數(shù)據(jù)丟失業(yè)務(wù)代碼JDTX應(yīng)用業(yè)務(wù)代碼JDTX應(yīng)用Redis 集群Redis(主)Redis(主)Redis(主)Redis(備)Redis(備)Redis(備)JDTX分布式異常梳理 業(yè)
8、務(wù)庫不可用業(yè)務(wù)代碼JDTX應(yīng)用WAL無法查詢存量數(shù)據(jù)通過異步恢復(fù)機(jī)制恢復(fù)數(shù)據(jù)運(yùn)行過程中數(shù)據(jù)仍然強(qiáng)一致業(yè)務(wù)代碼JDTX應(yīng)用業(yè)務(wù)代碼JDTX應(yīng)用Redis 集群Redis(主)Redis(主)Redis(主)Redis(備)Redis(備)Redis(備)分布式異常情況梳理異常類型可用性強(qiáng)一致數(shù)據(jù)丟失應(yīng)用不可用無影響是不可能Redis部分不可用無影響是不可能Redis全部不可用不可用-不可能WAL部分不可用無影響是不可能WAL全部不可用無影響是可能業(yè)務(wù)庫不可用無法存量查詢是不可能使用限制Limitation需要通過JDTX訪問數(shù)據(jù)庫需要通過事務(wù)中間件代理所有對數(shù)據(jù)庫的訪問SQL支持需持續(xù)完善復(fù)雜查詢需增加SQL解析的兼容度不支持無主鍵數(shù)據(jù)無主鍵的數(shù)據(jù)無法使用事務(wù)多元數(shù)據(jù)庫支持需要取決于SQL解析以及執(zhí)行器實(shí)現(xiàn)數(shù)據(jù)庫事務(wù)原理分布式事務(wù)的得與失JDTX解決方案詳解目錄CONTENTSJDTX roadmap1234未來規(guī)劃RoadmapSSI實(shí)現(xiàn)SQL兼容度提升更多元數(shù)據(jù)庫的支持Driver & Proxy接入端與ShardingSphere對接ShardingSphere與Apache ShardingSphere對接數(shù)據(jù)庫協(xié)議S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 育學(xué)園成長游戲課程設(shè)計(jì)
- 綜采工作面課程設(shè)計(jì)
- 船舶課程設(shè)計(jì)體會
- 電子cab課程設(shè)計(jì)總結(jié)
- 媒體行業(yè)客服工作總結(jié)
- 自然觀察社團(tuán)的生態(tài)探討計(jì)劃
- 2024年設(shè)備監(jiān)理師考試題庫含答案(能力提升)
- 印染行業(yè)安全工作總結(jié)
- 社區(qū)外部關(guān)系的構(gòu)建計(jì)劃
- 激光醫(yī)療行業(yè)現(xiàn)狀與前景趨勢報(bào)告
- 第五單元整體教學(xué)設(shè)計(jì)-統(tǒng)編版高中語文必修下冊
- 2025年蛇年春聯(lián)帶橫批-蛇年對聯(lián)大全新春對聯(lián)集錦
- 小班音樂教案:小瓢蟲飛教案及反思
- 生活中的代數(shù)智慧樹知到課后章節(jié)答案2023年下成都師范學(xué)院
- 監(jiān)獄物業(yè)投標(biāo)方案 (技術(shù)方案)
- 盲眼鐘表匠:生命自然選擇的秘密
- 雷達(dá)的分類及雷達(dá)信號處理詳解
- 焊接檢驗(yàn)作業(yè)指導(dǎo)書
- 甘河工業(yè)園區(qū)穩(wěn)定化固化車間和危廢暫存庫項(xiàng)目環(huán)評報(bào)告
- 《新時(shí)代勞動教育教程與實(shí)踐(第2版)》課程標(biāo)準(zhǔn)
- 21ZJ111 變形縫建筑構(gòu)造
評論
0/150
提交評論