版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、檢驗國產(chǎn)分布式事務(wù)數(shù)據(jù)庫技術(shù)架構(gòu)與核心算法的方法論技術(shù)創(chuàng)新,變革未來理論常識:教科書上闡述的分布式事務(wù)數(shù)據(jù)庫的技術(shù)架構(gòu),內(nèi)置隱含數(shù)據(jù)分片健的優(yōu) 勢與陷阱、內(nèi)置按需數(shù)據(jù)分片鍵的優(yōu)勢與陷阱;核心算法之一:識別分布式事務(wù)功能謊言的方法 ,講述金標(biāo)委要求的分布式事務(wù)讀一 致原理、分布式事務(wù)寫一致原理,及如何 測試產(chǎn)品能否做到,做不到會有何危害;核心算法之二:識別分布式死鎖功能謊言的方法,講述金標(biāo)委要求的分布式死鎖檢測 原理、分布式死鎖解除原理,及如何測試產(chǎn)品能否做到,做不到會有何危害;核心算法之三:識別分布式唯一約束功能謊言的方法,講述金標(biāo)委要求的分布式主鍵 值唯一約束原理、分布式唯一索引值唯一約束原
2、理,及如何測試產(chǎn)品能否做到,做不 到會有何危害;核心算法之四:識別跨數(shù)據(jù)中心級災(zāi)備雙活功能謊言的方法,講述分布式事務(wù)數(shù)據(jù)庫 行業(yè)的容災(zāi)雙活的種類要求、原理等,及如何測試產(chǎn)品能否做到,做不到會有何危害。概 述為何需要分布式事務(wù)數(shù)據(jù)庫產(chǎn)品123分布式事務(wù)數(shù)據(jù)庫的性能驗證方法論4分布式事務(wù)數(shù)據(jù)庫的功能驗證方法論5跨數(shù)據(jù)中心級災(zāi)備雙活功能驗證方法論目錄CONTENTS分布式事務(wù)數(shù)據(jù)庫的架構(gòu)原理支付APP微信云閃付F5/LVSF5/LVS高可用APPAPPAPP.APP.支付寶APP微信云閃付F5/LVSF5/LVS高可用APPAPPAPP.APP.應(yīng)用分布式應(yīng)用負(fù)載均衡業(yè)務(wù)_1業(yè)務(wù)_2業(yè)務(wù)_4業(yè)務(wù)_3
3、業(yè)務(wù)數(shù)據(jù) N業(yè)務(wù)數(shù)據(jù) 3業(yè)務(wù)數(shù)據(jù) 2業(yè)務(wù)數(shù)據(jù) 1分布式事務(wù)數(shù)據(jù)庫業(yè)務(wù)_1業(yè)務(wù)_2寶業(yè)務(wù)_4業(yè)務(wù)_3集中式數(shù)據(jù)庫業(yè)務(wù)數(shù)據(jù)Oracle/DB2分布式事務(wù)數(shù)據(jù)庫高可用分布式事務(wù)數(shù)據(jù)庫 計算節(jié)點分布式事務(wù)數(shù)據(jù)庫 存儲節(jié)點.集中式數(shù)據(jù)庫瓶頸:吞吐量和存儲量分布式事務(wù)數(shù)據(jù)庫水平吞吐能力擴(kuò)展Oracle/DB2為多進(jìn)程模式,MySQL為單進(jìn)程多線程模式,分布式架構(gòu)更好支撐海量連接、海量并發(fā)、海量吞吐的業(yè)務(wù)場景。應(yīng)用分布式應(yīng)用負(fù)載均衡集中式 轉(zhuǎn)型 分布式集中式數(shù)據(jù)庫 vs 分布式事務(wù)數(shù)據(jù)庫的技術(shù)架構(gòu):吞吐量、并發(fā)量、水平擴(kuò)展分布式事務(wù)數(shù)據(jù)庫行業(yè)的常見“網(wǎng)絡(luò)術(shù)語”分庫分表:TDDL為代表OLTP分庫:水平拆分、
4、垂直拆分分表:單庫內(nèi)部拆分為多個表,類似表分區(qū)問題:拆分后不支持分布式事務(wù)、跨庫JOIN、唯一約束、數(shù)據(jù)聚合等數(shù)據(jù)庫中間件:MyCAT為代表數(shù)據(jù)拆分:水平拆分、垂直拆分表水平拆分:按行的拆分鍵值來分散存儲問題:拆分設(shè)計復(fù)雜,拆分后不支持分布式事務(wù)、跨庫JOIN等NewSQL:CouchBase為代表數(shù)據(jù)拆分:水平拆分表水平拆分:按照主鍵或唯一索引,或默認(rèn)設(shè)置的字段值拆分問題:拆分設(shè)計簡單,拆分后不支持悲觀鎖、單調(diào)遞增序列、吞吐量受限等基礎(chǔ)功能數(shù)據(jù)分片:分片設(shè)計要智能算法實 現(xiàn)按業(yè)務(wù)特征的字段做數(shù)據(jù)分片應(yīng)用透明:等同集中式數(shù)據(jù)庫SQL語法:除存儲過程、自定義函數(shù)、PL/SQL、視圖外,全部兼容數(shù)
5、據(jù)正確:唯一約束、實時強(qiáng)一致 分布式事務(wù)、RC/RR/SR隔離級別唯一約束:唯一約束值全局唯一數(shù)據(jù)副本:副本數(shù)據(jù)之間做到強(qiáng)一 致分布式事務(wù)數(shù)據(jù)庫行業(yè)的基礎(chǔ)功能核心功能名稱甲骨文Oracle RAC熱璞數(shù)據(jù)庫HotDB螞蟻金服OceanBase阿里云DRDS中興GoldenDB騰訊TDSQL百度云XDB華為云DDM開源MyCAT類分布式事務(wù)應(yīng)用透明分布式事務(wù)讀一致分布式事務(wù)寫一致悲觀鎖分布式死鎖檢測分布式死鎖解除時間等動態(tài)函數(shù)數(shù)值全局一致分片字段有關(guān)的唯一約束分片字段無關(guān)的唯一約束異構(gòu)索引精確定位查詢范圍全局序列單調(diào)遞增分片鍵按業(yè)務(wù)需要的自定義按業(yè)務(wù)需要的數(shù)據(jù)分片設(shè)計智能優(yōu)化表對象分片鍵在線變更
6、表對象分片類型在線變更SELECT多表關(guān)聯(lián)UPDATE多表關(guān)聯(lián)DELETE多表關(guān)聯(lián)SSL連接加密國標(biāo)密鑰算法數(shù)據(jù)庫誤操作快速恢復(fù)危險SQL攔截表結(jié)構(gòu)和表索引優(yōu)化推薦同城雙數(shù)據(jù)中心災(zāi)備/雙活一鍵切換目錄CONTENTS為何需要分布式事務(wù)數(shù)據(jù)庫產(chǎn)品123分布式事務(wù)數(shù)據(jù)庫的性能驗證方法論4分布式事務(wù)數(shù)據(jù)庫的功能驗證方法論5跨數(shù)據(jù)中心級災(zāi)備雙活功能驗證方法論分布式事務(wù)數(shù)據(jù)庫的架構(gòu)原理Applications(e.g mysql client)Applicatio nApplicationApplicationlicationApplicationApplicationApplicatio nAppli
7、cationSQLMySQLServer(mysqld)(MySQLServermysqld)MySQLServer(mysqld)StorageNDB Cluster(data nodes)(ndbd)(ndb(ndbd)ManagementManagement Server(ndb_mqmd)ManagementClient(e.g ndb_mgm)教科書定義的分布式事務(wù)數(shù)據(jù)庫的技術(shù)架構(gòu)及功能特性局部內(nèi)模式全局概念模式分布式 數(shù)據(jù)庫 增加的全局自治分片模式分布模式全局DBMS局部概念模式局部概念模式局部概念模式全局外模式局部內(nèi)模式局部內(nèi)模式局部 數(shù)據(jù)庫局部 數(shù)據(jù)庫局部 數(shù)據(jù)庫集中式 數(shù)據(jù)庫
8、 原有的場地自治局部DBMS全局外模式全局外模式模式一模式二模式三模式四分布式數(shù)據(jù)庫:是由一組數(shù)據(jù)組成的,這組數(shù)據(jù)分布在計算機(jī)網(wǎng)絡(luò)的不同計算機(jī)上,網(wǎng)絡(luò)中的每個結(jié)點具有獨立處理能力(稱為場 地自治),可以執(zhí)行局部應(yīng)用。同時每個結(jié)點也能通過網(wǎng)絡(luò)通訊子系統(tǒng)執(zhí)行全局應(yīng)用(稱為全局自治)。App SELECT * FROMTABLE_NAMEWHERE ID=14;ScanScanScan(ndbDat aDat ad)Dat aDat aData計算匯 總d)國內(nèi)三種主流金融行業(yè)的分布式事務(wù)數(shù)據(jù)庫的技術(shù)架構(gòu)揭秘:應(yīng)用層和路由層耦合業(yè)務(wù)代碼組件業(yè)務(wù)代碼Data Sharding組件Dingata Sha
9、rd配置中心架構(gòu)特征:1、應(yīng)用程序?qū)咏柚?qū)動程序嵌入數(shù)據(jù)路由信 息和實現(xiàn)簡單的數(shù)據(jù)結(jié) 果集合并2、數(shù)據(jù)存儲層的數(shù)據(jù)分片由應(yīng)用程序?qū)涌刂疲瑯I(yè)務(wù)代碼Data Sharding組件MySQL/Oracle/DB2等數(shù)據(jù)庫應(yīng)用程序?qū)勇酚蓪訑?shù)據(jù)存儲層支付寶APP微信F5/LVSF5/LVS高可用業(yè)務(wù)_1應(yīng)用負(fù)載均衡Data Shardin解析獲取位置位置g業(yè)務(wù)_1Query 0K聚合結(jié)果集國內(nèi)三種主流金融行業(yè)的分布式事務(wù)數(shù)據(jù)庫的技術(shù)架構(gòu)揭秘:數(shù)據(jù)緩存節(jié)點和數(shù)據(jù)持久節(jié)點結(jié)合Client LayerApplicnatioApplicationClientClientClientSQL LayerProxyP
10、roxyIncrement Data LayerFull Data Layer ChunkServerMergeServerVIPUpdateServerUpdateServerUpdateServerUpdate Server ChunkServer MergeServerChunkServer MergeServerVIPUPDATE TABLE_NAMESET WHERE ID100;UPDATE TABLE_NAMESET WHERE ID100;UPSETDATE TABLE_N WHERE IDME0;RESULESRESULESA RESULES10合并結(jié)果應(yīng)用程序?qū)訑?shù)據(jù)庫接入層
11、增量數(shù)據(jù)層全量數(shù)據(jù)層架構(gòu)特征:1、架構(gòu)分成:應(yīng)用層、數(shù)據(jù)庫接 入層、數(shù)據(jù)緩存層、數(shù)據(jù)持久層 共計四部分,做到應(yīng)用層完全透 明。2、數(shù)據(jù)庫接入層:實現(xiàn)DDL/DML/DQL/DCL等全部功能。3、數(shù)據(jù)緩存層:負(fù)責(zé)單個數(shù)據(jù)分片內(nèi)、單機(jī)多個數(shù)據(jù)分片、多機(jī) 多個數(shù)據(jù)分片的數(shù)據(jù)操作和事務(wù) 控制。4、數(shù)據(jù)持久層:從數(shù)據(jù)緩存層將數(shù)據(jù)持久到固態(tài)硬盤或閃存硬盤 上。國內(nèi)三種主流金融行業(yè)的分布式事務(wù)數(shù)據(jù)庫的技術(shù)架構(gòu)揭秘:計算節(jié)點和存儲節(jié)點組合支付寶APP微信云閃付F5/LVSF5/LVS高可用APPAPPAPP.APP業(yè)務(wù)數(shù)據(jù) N業(yè)務(wù)數(shù)據(jù) 1業(yè)務(wù)數(shù)據(jù) 2業(yè)務(wù)數(shù)據(jù) 3分布式事務(wù)數(shù)據(jù)庫業(yè)務(wù)_1業(yè)務(wù)_2.業(yè)務(wù)_4業(yè)務(wù)_
12、3分布式事務(wù)數(shù)據(jù)庫.分布式事務(wù)數(shù)據(jù)庫水平擴(kuò)展分布式事務(wù)數(shù)據(jù)庫應(yīng)用服務(wù)負(fù)載均衡應(yīng)用服務(wù)后端分布式分布式事務(wù)數(shù)據(jù)庫的計算節(jié)點分布式事務(wù)數(shù)據(jù)庫的存儲節(jié)點MySQL/Oracle/DB2等數(shù)據(jù)庫架構(gòu)特征:1、架構(gòu)分成:應(yīng)用層、計算節(jié)點、存儲節(jié)點三部分,做 到應(yīng)用層完全透明2、計算節(jié)點層:需要實現(xiàn)數(shù) 據(jù)庫服務(wù)端全部的DDL/DM L/DQL/DCL等全部功能,另 外要實現(xiàn)連接池、高可用、 事務(wù)、死鎖等全部功能3、存儲節(jié)點層:負(fù)責(zé)單個數(shù)據(jù)分片內(nèi)的數(shù)據(jù)操作和事務(wù)控制應(yīng)用服務(wù)前端接入應(yīng)用程序?qū)臃植际绞聞?wù)應(yīng)用透明的計算節(jié)點架構(gòu)和引入管理協(xié)調(diào)節(jié)點架構(gòu)的差異存儲節(jié)點引入“管理協(xié)調(diào)節(jié)點”帶來的問題優(yōu)勢:性能問題:響應(yīng)
13、時間變長,存在性能毛刺可靠性問題:交互環(huán)節(jié)增多,增加隱患點有狀態(tài)轉(zhuǎn)移:有狀態(tài)的信息從計算節(jié)點轉(zhuǎn)移到管理協(xié)調(diào)節(jié)點,管理協(xié)調(diào)節(jié)點水平擴(kuò)展數(shù)量受分布式一致性協(xié)議限制用應(yīng)層有狀態(tài)計算節(jié)點有狀態(tài)計算節(jié)點有狀態(tài)計算節(jié)點存儲節(jié)管理協(xié)調(diào)節(jié)點管理協(xié)調(diào)節(jié)點管理協(xié)調(diào)節(jié)點無狀態(tài)計算節(jié)點無狀態(tài)計算節(jié)點update 1;存儲節(jié)點存儲節(jié)點存儲節(jié)點點 Query okupdate 1;Commit;Commit okQuery okError請求存儲節(jié)點 及協(xié)調(diào)存儲節(jié)點返回狀態(tài)update 1;Query ok;Commit;Commit ok無狀態(tài)計算節(jié)點Query ok;update 1;Query ok;update
14、1;計算節(jié)點成為有狀態(tài)的問題優(yōu)勢:問題:有狀態(tài)信息維護(hù)在“指揮官”計算節(jié)點上,則要求計算節(jié)點的算法處理能力更強(qiáng)大優(yōu)勢:減少故障環(huán)節(jié),穩(wěn)定性更好;減少網(wǎng)絡(luò)交互,響應(yīng) 時間更短,吞吐量更大國內(nèi)三種主流金融行業(yè)的分布式事務(wù)數(shù)據(jù)庫的技術(shù)架構(gòu)揭秘:技術(shù)架構(gòu)優(yōu)劣總結(jié)維度項數(shù)據(jù)緩存節(jié)點和數(shù)據(jù)持久節(jié)點結(jié)合計算節(jié)點和存儲節(jié)點組合應(yīng)用層和路由層耦合技術(shù)生態(tài)自建重建融入現(xiàn)有生態(tài)融入現(xiàn)有生態(tài)數(shù)據(jù)分片智能自動的數(shù)據(jù)分片智能自動的數(shù)據(jù)分片人為設(shè)計的數(shù)據(jù)分片穩(wěn)定可靠服務(wù)集群負(fù)載均衡式 服務(wù)HA高可用式服務(wù)集群負(fù)載均衡式 服務(wù)HA高可用式服務(wù)HA高可用式分布式事務(wù)支持支持不支持?jǐn)?shù)據(jù)一致性強(qiáng)強(qiáng)不支持分布式死鎖支持自動智能的死鎖
15、檢測 支持自動智能的死鎖解除支持自動智能的死鎖檢測 支持自動智能的死鎖解除不支持?jǐn)?shù)據(jù)庫語法支持度高高低全局統(tǒng)一數(shù)據(jù)庫視圖支持支持不支持?jǐn)U展性在線水平擴(kuò)容縮容在線水平擴(kuò)容縮容停機(jī)且有限水平擴(kuò)展可維護(hù)性簡單簡單復(fù)雜硬件設(shè)施中等成本低成本低成本文件系統(tǒng)自研定制標(biāo)準(zhǔn)通用標(biāo)準(zhǔn)通用目錄CONTENTS為何需要分布式事務(wù)數(shù)據(jù)庫產(chǎn)品123分布式事務(wù)數(shù)據(jù)庫的性能驗證方法論4分布式事務(wù)數(shù)據(jù)庫的功能驗證方法論5跨數(shù)據(jù)中心級災(zāi)備雙活功能驗證方法論分布式事務(wù)數(shù)據(jù)庫的架構(gòu)原理分布式事務(wù)數(shù)據(jù)庫的性能驗證方法論及陷阱保證數(shù)據(jù)一致,滿足應(yīng)用要求為前提唯一約束功能:是否開啟全局唯一約束唯一約束特征:全局唯一約束為單字段、兩個字段
16、、 三個字段,表對象上單個全局唯一約束、兩個全局 唯一約束鎖類型:悲觀鎖、樂觀鎖事務(wù)類型:分布式事務(wù)是 實時強(qiáng)一致、弱一致、 補(bǔ)償機(jī)制副本一致:副本之間是實時強(qiáng)一致同步、準(zhǔn)實時強(qiáng) 一致同步、異步同步數(shù)據(jù)安全:白名單、危險SQL攔截、誤操作閃回等性能驗證以實際業(yè)務(wù)場景為基準(zhǔn)架構(gòu)要求:以生產(chǎn)環(huán)境要求的部署架構(gòu)配置要求:以生產(chǎn)環(huán)境要求的參數(shù)配置場景要求:以真實業(yè)務(wù)場景的全部或部分抽取為壓測場景常規(guī)參考:非真實業(yè)務(wù)場景的TPCC/Sysbench只作為參考時長要求:每個性能場景用例至少30分鐘及以上,前10分 鐘壓測數(shù)值廢除事務(wù)場景:驗證大事務(wù)的能力,一個TPS包含上百個QPS,一個TPS操作的數(shù)量范
17、圍大目錄CONTENTS為何需要分布式事務(wù)數(shù)據(jù)庫產(chǎn)品123分布式事務(wù)數(shù)據(jù)庫的性能驗證方法論4分布式事務(wù)數(shù)據(jù)庫的功能驗證方法論5跨數(shù)據(jù)中心級災(zāi)備雙活功能驗證方法論分布式事務(wù)數(shù)據(jù)庫的架構(gòu)原理VIP數(shù)據(jù)副本數(shù)據(jù)副本數(shù)據(jù)副本數(shù)據(jù)副本dn_1dn_2APPAPPAPP數(shù)據(jù)副本數(shù)據(jù)副本數(shù)據(jù)副本數(shù)據(jù)副本dn_3dn_4LVS/F5/A10LVS/F5/A10計算節(jié)點計算節(jié)點計算節(jié)點SESSION 1:TRANSACTION 1:批量插入1000條數(shù)據(jù)TRANSACTION 2:刪除上一步插入的1000條數(shù)據(jù)Query ok;Query ok;Begin;INSERT INTO TABLE_NAME VALU
18、ES(XXX),(XXX); COMMIT;Begin;DELETE FROM TABLE_NAME VALUES(XXX),(XXX);COMMIT;Begin;INSERT INTO TABLE_NAME VALUES(XXX),(XXX); COMMIT;Begin;DELETE FROM TABLE_NAME VALUES(XXX),(XXX);COMMIT;Begin;INSERT INTO TABLE_NAME VALUES(XXX),(XXX); COMMIT;Begin;DELETE FROM TABLE_NAME VALUES(XXX),(XXX); COMMIT;Begin
19、;INSERT INTO TABLE_NAME VALUES(XXX),(XXX);COMMIT;Begin;DELETE FROM TABLE_NAME VALUES(XXX),(XXX); COMMIT;管理平臺Query ok;Query ok;SESSION 2:SELECT COUNT(*) FROM TABLE_NAME;SELECT COUNT(*) FROM TABLE_NAME;SELECT COUNT(*) FROM TABLE_NAME;SELECT COUNT(*) FROM TABLE_NAME;SELECT COUNT(*) FROM TABLE_NAME;Quer
20、y ok;Query ok;Query ok;Query ok;SELECT COUNT(*) 出的結(jié)果為0或1000;第一步驟:開啟一個SESSION,包含兩個事務(wù),一個是INSERT 1000條數(shù)據(jù),一個是DELETE 1000條數(shù)據(jù),兩個事務(wù)反復(fù)交替并發(fā)執(zhí)行,無 間隔時間;第二步驟:開啟第二個SESSION進(jìn)行SELECTCOUNT(*) 操作,查詢所有節(jié)點的數(shù)據(jù)總數(shù),該操作應(yīng)反復(fù)并發(fā)執(zhí)行,多次驗證,應(yīng)為0或者1000,保障分布式事務(wù)的數(shù)據(jù)讀一致。分布式事務(wù)數(shù)據(jù)庫產(chǎn)品特性:分布式事務(wù)的數(shù)據(jù)讀一致性等同數(shù)據(jù)副本單數(shù)據(jù)庫的功能效果及驗證方法第一步驟:開啟一個SESSION,反復(fù)并發(fā)執(zhí)行INS
21、ERT操作,批量插入1000條數(shù)據(jù),中間無間 隔時間;第二步驟:登錄后端節(jié)點,在計算引擎端反復(fù)進(jìn)行kill所有到某個存儲節(jié)點連接的操作,執(zhí)行5-10分鐘;第三步驟:停止第一個SESSION的插入操作; 第四步驟:統(tǒng)計所有存儲節(jié)點的數(shù)據(jù)行數(shù),應(yīng)為1000的整數(shù)倍,保障分布式事務(wù)的數(shù)據(jù)寫一致。VIPLVS/F5/A10LVS/F5/A10數(shù)據(jù)副本數(shù)據(jù)副本數(shù)據(jù)副本數(shù)據(jù)副本dn_1dn_2APPAPPAPP數(shù)據(jù)副本數(shù)據(jù)副本數(shù)據(jù)副本數(shù)據(jù)副本dn_3dn_4計算節(jié)點計算節(jié)點計算節(jié)點SESSION 1:自動提交模式反復(fù)執(zhí)行:批量插入1000條數(shù)據(jù)Query ok;Query ok;INSERT INTO T
22、ABLE_NAME VALUES(XXX),(XXX);INSERT INTO TABLE_NAME VALUES(XXX),(XXX);INSERT INTO TABLE_NAME VALUES(XXX),(XXX);INSERT INTO TABLE_NAME VALUES(XXX),(XXX);INSERT INTO TABLE_NAME VALUES(XXX),(XXX);INSERT INTO TABLE_NAME VALUES(XXX),(XXX);INSERT INTO TABLE_NAME VALUES(XXX),(XXX);INSERT INTO TABLE_NAME VAL
23、UES(XXX),(XXX);管理平臺Query ok;Query ok;SESSION 2:SELECT COUNT(*) FROM TABLE_NAME;SELECT COUNT(*) FROM TABLE_NAME;SELECT COUNT(*) FROM TABLE_NAME;SELECT COUNT(*) FROM TABLE_NAME;SELECT COUNT(*) FROM TABLE_NAME;Query ok;Query ok;Query ok;Query ok;SELECT COUNT(*) 出的結(jié)果為1000的整數(shù)倍;KIL L分布式事務(wù)數(shù)據(jù)庫產(chǎn)品特性:分布式事務(wù)的數(shù)據(jù)寫
24、一致性等同數(shù)據(jù)副本單數(shù)據(jù)庫的功能效果及驗證方法數(shù)據(jù)副本數(shù)據(jù)副本數(shù)據(jù)副本數(shù)據(jù)副本數(shù)據(jù)副本數(shù)據(jù)副本數(shù)據(jù)副本數(shù)據(jù)副本dn_4IDNAME11abcIDNAME12abcIDNAME13abcIDNAME14abcVIPLVS/F5/A10LVS/F5/A10dn_1dn_2APPAPPAPPdn_3點計算節(jié)點計算節(jié)計算節(jié)點INSERT INTO TABLE_NAME(ID,NAME) VALUES (11,abc),(12,abc), (13,abc), (14,abc);INSERT INTO TABLE_NAME(ID,NAME)VALUES(11,abc);INSERT INTO TABLE_
25、NAME(ID,NAME)VALUES(12,abc);INSERT INTO TABLE_NAME(ID,NAME)VALUES(13,abc);INSERT INTO TABLE_NAME(ID,NAME)VALUES(14,abc);管理平臺開啟A客戶端執(zhí)行A事務(wù):BEGIN;SELECT * FROM TABLE_NAME WHERE ID=11 FOR UPDATE;SELECT * FROM TABLE_NAME WHEREID=11 FOR UPDATE;開啟B客戶端執(zhí)行B事務(wù):BEGIN;SELECT * FROM TABLE_NAME WHERE ID=14 FOR UPDA
26、TE;SELECT * FROM TABLE_NAME WHEID=14 FOR UPDATE;依舊在A客戶端繼續(xù)執(zhí)行A事務(wù):UPDATE TABLE_NAME SET NAME=bcd WHERE ID=14;依舊在B客戶端繼續(xù)執(zhí)行B事務(wù):UPDATE TABLE_NAME SET NAME=bcd WHERE ID=11;UPDATE TABLE_NAME SETNAME=bcd WHERE ID=14;UPDATE TABLE_NAME SETRENAME=bcd WHERE ID=11;出現(xiàn)死鎖發(fā)生鎖爭用,死鎖檢測模型Query ok; 判斷第一步驟:在數(shù)據(jù)分片到不同存儲節(jié)點的前提下
27、第二步驟:制造分布式事務(wù)死鎖1)以下兩行數(shù)據(jù)分布在不同數(shù)據(jù)節(jié)點2)開啟一個客戶端執(zhí)行A事務(wù),如下:select * from table_name where id=11 for update;update table_name set name=bcd where id=14;3)開啟另一個客戶端執(zhí)行B事務(wù),如下:select * from table_name where id=14 for update;update table_name set name=bcd where id=11;Query ok;Query ok;Query ok;Query ok;Query ok;Query
28、 ok;分布式事務(wù)數(shù)據(jù)庫產(chǎn)品特性:亞秒級高效智能的分布式死鎖檢測數(shù)據(jù)副本數(shù)據(jù)副本IDNAME14bcd數(shù)據(jù)副本數(shù)據(jù)副本數(shù)據(jù)副本數(shù)據(jù)副本數(shù)據(jù)副本數(shù)據(jù)副本dn_411abcIDNAME12abcIDNAME13abc14abcVIPAPPLVS/F5/A10LVS/F5/A10dn_1dn_2APPAPPdn_3算節(jié)點計算節(jié)點計算節(jié)點計管理平臺第一步:死鎖檢測算法發(fā)現(xiàn)鎖爭用的環(huán)形第二步:計算出來解除那個事務(wù)已爭用到的鎖資源,能破解環(huán)形鎖且是犧牲最小第三步:對被符合要求且保證能破解環(huán)形鎖的其 中一個或多個事務(wù)進(jìn)行回滾操作分布式事務(wù)數(shù)據(jù)庫產(chǎn)品特性:亞秒級高效智能的分布式死鎖解除機(jī)制的最小死鎖解除:選擇
29、解除代價Kill queryIDNAMEQuery ok;B事務(wù)失敗IDNAMEQuery ok;數(shù)據(jù)副本數(shù)據(jù)副本數(shù)據(jù)副本數(shù)據(jù)副本數(shù)據(jù)副本數(shù)據(jù)副本數(shù)據(jù)副本數(shù)據(jù)副本分區(qū)/分片4IDNAME1aIDNAME2bIDNAME3cIDNAME4dVIPLVS/F5/A10LVS/F5/A10分區(qū)/分片1分區(qū)/分片2APPAPPAPP分區(qū)/分片3計算節(jié)點計算節(jié)點計算節(jié)點管理平臺前提條件:Table根據(jù)ID進(jìn)行分片/分區(qū),NAME字段具備唯一約束,共計4個分片/分區(qū)第一步驟:四個分片/分區(qū)各寫一條記錄,分別為 分片1/分區(qū)1寫入:(1,a)分片2/分區(qū)2寫入:(2,b) 分片3/分區(qū)3寫入:(3,c) 分
30、片4/分區(qū)4寫入:(4,d)第二步驟:假設(shè)ID為5的記錄路由到分片1/分區(qū)1,分別插入(5,a),(5,b)兩條數(shù)據(jù)功能效果:無論插入數(shù)據(jù)在本地分片/分區(qū)重復(fù)或者和異地分片/分區(qū)重復(fù),均能夠檢測出唯一約束沖突分布式事務(wù)數(shù)據(jù)庫產(chǎn)品特性:唯一約束保證數(shù)據(jù)正確UKUKUKUKInsert into table values(1,a);Insert into table values(2,b);Insert into table values(3,c);Insert into table values(4,d);Query ok;Query ok;Query ok;Query ok;Insert in
31、to table values(5,a);唯一約束沖突Insert into table values(5,b);唯一約束沖突目錄CONTENTS為何需要分布式事務(wù)數(shù)據(jù)庫產(chǎn)品123分布式事務(wù)數(shù)據(jù)庫的性能驗證方法論4分布式事務(wù)數(shù)據(jù)庫的功能驗證方法論5跨數(shù)據(jù)中心級災(zāi)備雙活功能驗證方法論分布式事務(wù)數(shù)據(jù)庫的架構(gòu)原理分布式事務(wù)數(shù)據(jù)庫產(chǎn)品特性:從磁盤級數(shù)據(jù)高可靠至跨數(shù)據(jù)中心的容災(zāi)能力維度類型數(shù)據(jù)庫模式應(yīng)用服務(wù)要求是否可行RPO/RTO定量指標(biāo)網(wǎng)絡(luò)要求數(shù)據(jù)中心距離要求數(shù)據(jù)副本技術(shù)存儲硬盤級的高可用陣列卡上的RAID功能實現(xiàn)無要求是RPO=0 RTO=0無限制同一個數(shù)據(jù)中心存儲硬盤RAID塊復(fù)制服務(wù)器級的高可
32、用分布式事務(wù)數(shù)據(jù)庫的數(shù)據(jù)存儲節(jié)點數(shù)據(jù)庫實例之間數(shù)據(jù)副本的數(shù) 據(jù)同步機(jī)制,及數(shù)據(jù)庫服務(wù)的高可用機(jī)制無要求是RPO=0 RTO=3秒無限制同一個數(shù)據(jù)中心存儲引擎級邏輯復(fù)制同城數(shù)據(jù)中心級災(zāi)備的高可用分布式事務(wù)數(shù)據(jù)庫集群之間跨數(shù)據(jù)中心數(shù)據(jù)副本的數(shù)據(jù)同步機(jī)制無要求是RPO=3秒RTO=30秒時延5毫秒,帶寬不設(shè)限無限制1、初級技術(shù):存儲引擎級邏輯復(fù)制2、高級技術(shù):自研分布式事務(wù)數(shù)據(jù)庫產(chǎn) 品的數(shù)據(jù)同步組件同城數(shù)據(jù)中心級雙活 的高可用數(shù)據(jù)庫跨數(shù)據(jù)中心同一份數(shù)據(jù)主備模式,分布式事務(wù)數(shù)據(jù)庫集群 之間跨數(shù)據(jù)中心數(shù)據(jù)副本的數(shù)據(jù)同步機(jī)制應(yīng)用雙活是RPO=3秒 RTO=30秒時延5毫秒,帶 寬不設(shè)限無限制1、初級技術(shù):
33、存儲引擎級邏輯復(fù)制2、高級技術(shù):自研分布式事務(wù)數(shù)據(jù)庫產(chǎn) 品的數(shù)據(jù)同步組件數(shù)據(jù)庫同一份數(shù)據(jù)主主模式,分布式事務(wù)數(shù)據(jù)庫集群之間跨數(shù)據(jù) 中心數(shù)據(jù)副本的多寫機(jī)制應(yīng)用雙活+不限制否RPO要求做到0 RTO要求做到0時延3毫秒,多 運營商線路,帶 寬不設(shè)限20公里以內(nèi)分布式一致協(xié)議多寫機(jī)制數(shù)據(jù)庫不同份數(shù)據(jù)主主模式(或稱數(shù)據(jù)存儲全量,數(shù)據(jù)服務(wù)差 異),分布式事務(wù)數(shù)據(jù)庫集群之間跨數(shù)據(jù)中心數(shù)據(jù)副本的數(shù)據(jù)同 步機(jī)制應(yīng)用單元化+應(yīng)用雙 活+區(qū)分用戶訪問入 口是RPO=1秒 RTO=10秒時延5毫秒,多 運營商線路,帶 寬不設(shè)限80公里以內(nèi)1、初級技術(shù):存儲引擎級邏輯復(fù)制2、高級技術(shù):自研分布式事務(wù)數(shù)據(jù)庫產(chǎn) 品的數(shù)據(jù)
34、同步組件異地數(shù)據(jù)中心級災(zāi)備 的高可用分布式事務(wù)數(shù)據(jù)庫集群之間跨數(shù)據(jù)中心數(shù)據(jù)副本的數(shù)據(jù)同步機(jī)制無要求是RPO=3秒 RTO=30秒時延5毫秒,帶 寬不設(shè)限無限制1、初級技術(shù):存儲引擎級邏輯復(fù)制2、高級技術(shù):自研分布式事務(wù)數(shù)據(jù)庫產(chǎn) 品的數(shù)據(jù)同步組件同城數(shù)據(jù)中心雙活及 異地數(shù)據(jù)中心級災(zāi)備 的高可用數(shù)據(jù)庫跨同城數(shù)據(jù)中心同一份數(shù)據(jù)主備模式,異地數(shù)據(jù)中心災(zāi)備 模式,分布式事務(wù)數(shù)據(jù)庫集群之間跨數(shù)據(jù)中心數(shù)據(jù)副本的數(shù)據(jù)同 步機(jī)制應(yīng)用雙活是同城/異地RPO=3秒 同城RTO=10秒 異地RTO=30秒時延5毫秒,帶 寬不設(shè)限無限制1、初級技術(shù):存儲引擎級邏輯復(fù)制2、高級技術(shù):自研分布式事務(wù)數(shù)據(jù)庫產(chǎn) 品的數(shù)據(jù)同步組
35、件數(shù)據(jù)庫同一份數(shù)據(jù)主主模式,異地數(shù)據(jù)中心災(zāi)備模式,分布式事 務(wù)數(shù)據(jù)庫集群之間跨數(shù)據(jù)中心數(shù)據(jù)副本的多寫機(jī)制應(yīng)用雙活+不限制否同城/異地RPO要求做到0同城RTO要求做到0 異地RTO要求做到10時延3毫秒,多 運營商線路,帶 寬不設(shè)限20公里以內(nèi)分布式一致協(xié)議多寫機(jī)制數(shù)據(jù)庫不同份數(shù)據(jù)主主模式(或稱數(shù)據(jù)存儲全量,數(shù)據(jù)服務(wù)差 異),異地數(shù)據(jù)中心災(zāi)備模式,分布式事務(wù)數(shù)據(jù)庫集群之間跨數(shù) 據(jù)中心數(shù)據(jù)副本的數(shù)據(jù)同步機(jī)制應(yīng)用單元化+應(yīng)用雙 活+區(qū)分用戶訪問入 口是同城/異地RPO=1秒 同城RTO=10秒 異地RTO=30秒同城/異地:時 延5毫秒,多運 營商線路,帶寬 不設(shè)限同城:80公里以內(nèi) 異地:不限制
36、1、初級技術(shù):存儲引擎級邏輯復(fù)制2、高級技術(shù):自研分布式事務(wù)數(shù)據(jù)庫產(chǎn) 品的數(shù)據(jù)同步組件分布式事務(wù)數(shù)據(jù)庫產(chǎn)品特性:數(shù)據(jù)分片的存儲節(jié)點數(shù)據(jù)零丟失及平滑秒級切換的高可用能力管理平臺Active Master數(shù)據(jù)分片1Primary Node(計算節(jié)點)Secondary Node 2(計算節(jié)點)Secondary Node 3(計算節(jié)點)ActiveMasterStandby Master數(shù)據(jù)分片2ActiveMasterStandby Master數(shù)據(jù)分片NHold業(yè)務(wù)請求Update 1等待數(shù)據(jù)追平 數(shù)據(jù)已追平SAtacntidvbey MasterQuery OKQuery OK分布式事務(wù)數(shù)據(jù)
37、庫的數(shù)據(jù)分片的存儲節(jié)點高可用實現(xiàn)要求及效果:數(shù)據(jù)分片采用兩副本的存儲節(jié)點,則為雙主半同步歸檔日志復(fù)制分布式事務(wù)數(shù)據(jù)庫計算節(jié)點的內(nèi)置算法檢測、判斷和決策單個存儲節(jié)點的服務(wù)故障及恢復(fù)過程對應(yīng)用程序端透明故障判斷及切換服務(wù)恢復(fù)的總時長在秒級保障分布式事務(wù)數(shù)據(jù)庫的數(shù)據(jù)服務(wù)可用性達(dá)到99.99%及以上保障分布式事務(wù)數(shù)據(jù)庫數(shù)據(jù)安全的可靠性達(dá)到99.99%及以上負(fù)載均衡分布式事務(wù)數(shù)據(jù)庫產(chǎn)品特性:數(shù)據(jù)分片的計算節(jié)點負(fù)載均衡及秒級切換的高可用能力分布式事務(wù)數(shù)據(jù)庫的計算節(jié)點的高可用實現(xiàn)要求及效果:Cluster集群版本:通過分布式選舉算法保障計算節(jié)點 服務(wù)可用性,Primary節(jié)點切換服務(wù)恢復(fù)的總時長在秒 級,S
38、econdary節(jié)點切換服務(wù)恢復(fù)在毫秒級HA主備版本:故障判斷及切換服務(wù)恢復(fù)的總時長在秒 級集群初始化.可視化管理平臺負(fù)載均衡數(shù)據(jù)分片1數(shù)據(jù)分片2數(shù)據(jù)分片NPrimary Node(計算節(jié)點)Secondary Node 3(計算節(jié)點)SePcorinmdaarryyNNooddee 2(計計算算節(jié)節(jié)點點)update 1 sellect 1 select 2分布式事務(wù)數(shù)據(jù)庫產(chǎn)品特性:高吞吐精確可預(yù)測的跨數(shù)據(jù)中心災(zāi)備/雙活的數(shù)據(jù)同步能力操作管控:實現(xiàn)數(shù)據(jù)流控制和數(shù)據(jù)同步 控制的功能,做到管控數(shù)據(jù)操作。高吞吐:數(shù)據(jù)同步要求做到至少10萬TPS,不含大事務(wù)和數(shù)據(jù)庫表結(jié)構(gòu)變更情況下時延在3秒以內(nèi)。多
39、鏈路冗余:同一個數(shù)據(jù)包能在多條網(wǎng) 絡(luò)線路上同時傳輸,末端會自動選擇最 早到達(dá)且符合要求的數(shù)據(jù)包。防網(wǎng)絡(luò)抖動:支持網(wǎng)絡(luò)擁塞控制算法抵 御跨數(shù)據(jù)中心的網(wǎng)絡(luò)丟包和網(wǎng)絡(luò)時延抖 動,避免因此發(fā)生數(shù)據(jù)同步的效率大幅 下降。數(shù)據(jù)同步軟件Datapost應(yīng)用服務(wù)fts1分布式事務(wù)數(shù)據(jù)庫HotDBMaster應(yīng)用服務(wù)ftsN應(yīng)用服務(wù)fts2機(jī)構(gòu)號A_DataNode1MasterA_DataNode9Standby MasterMasterB_DataNode10MasterMasterB_DataNode18按照 機(jī)構(gòu)號 分片應(yīng)用服務(wù)fts1應(yīng)用服務(wù)ftsN應(yīng)用服務(wù)fts2機(jī)構(gòu)號分布式事 務(wù)數(shù)據(jù)庫 HotDB按照 機(jī)構(gòu)號 分片數(shù)據(jù)同步軟件DatapostStandby MasterStandby MasterActive MasterB_DataNode18Standby MasterStandby MasterActive MasterA_DataNode9Active MasterB_DataNode10Active MasterA_DataNode1數(shù)據(jù)同步軟件Datapost數(shù)據(jù)同步軟件Datapost數(shù)據(jù)
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教師的年度述職報告范文集錦6篇
- 《山東省行業(yè)協(xié)會商會負(fù)責(zé)人任職管理辦法》
- 銷售工程師工作總結(jié)
- 醫(yī)院護(hù)士長辭職報告(15篇)
- 銀行辭職報告(12篇)
- 學(xué)生會干事辭職報告集合6篇
- 供氣項目規(guī)劃方案
- 學(xué)校工作計劃3篇
- 發(fā)電機(jī)保護(hù)復(fù)習(xí)試題附答案
- 陜西、山西、寧夏、青海2025年高考綜合改革適應(yīng)性演練物理試題含答案
- 錨索張拉伸長量計算
- 部編版語文九年級上冊單元復(fù)習(xí)課教案
- 孕酮檢驗報告
- 2024年度醫(yī)院皮膚科醫(yī)務(wù)人員績效述職統(tǒng)計報告課件
- 《成本費用控制》課件
- 醫(yī)院消防培訓(xùn)方案
- 【人教部編版語文六年級上冊】選擇題專項練習(xí)復(fù)習(xí)(100道題后附答案)
- 外科醫(yī)學(xué)教學(xué)設(shè)計
- 創(chuàng)辦臺球廳的計劃書
- 廣東省廣州市越秀區(qū)2022-2023學(xué)年八年級上學(xué)期期末物理試卷
- 統(tǒng)編版語文四年級上冊《期末作文專項復(fù)習(xí)》 課件
評論
0/150
提交評論