




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
分庫(kù)分表理論CDS實(shí)踐如何接入CDS目錄分庫(kù)分表理論分庫(kù)分表為什么有什么難點(diǎn)怎么分如何解決分庫(kù)分表理論為什么要分庫(kù)分表?業(yè)務(wù)數(shù)據(jù)量劇增訪問并發(fā)量劇增業(yè)務(wù)系統(tǒng)可用性需求如何選擇拆分策略?垂直拆分水平拆分兩者結(jié)合分庫(kù)分表理論分庫(kù)分表理論分庫(kù)分表理論分庫(kù)分表帶來了哪些難題?分布式事務(wù)復(fù)雜SQL查詢跨庫(kù)跨表Join數(shù)據(jù)運(yùn)維CDS系統(tǒng)架構(gòu)1-M2-M3-M1-S2-S3-SDriver(JDBC)ServerCDS規(guī)則庫(kù)ConsoleMyDB作業(yè)平臺(tái)分布式事務(wù)CDS集群業(yè)務(wù)應(yīng)用進(jìn)程CDS驅(qū)動(dòng)架構(gòu)ApplicationApplicationMySQLOracleSQLServer讀寫分離路由規(guī)則容災(zāi)模塊連接池監(jiān)控SQLParserSQLRewriter鏈接池ResultSetStatement分布式事務(wù)管理NativeJDBCDriverSQL對(duì)象緩存SQL查詢流程Sql和參數(shù)Sql解析tablescolumnswhereclasemax/min/count/sum/avglimitgroupbyorderby規(guī)則計(jì)算分表定位Sql重寫執(zhí)行sql返回結(jié)果集合并結(jié)果集查詢或更新結(jié)果CDS集群結(jié)構(gòu)…全局表A孤立表C切分表B全局表A全局表A全局表A孤立表C切分表B_01切分表B_02切分表B_10全局組分庫(kù)1分庫(kù)2分庫(kù)10全局表:每個(gè)工作組都存在相同的數(shù)據(jù)備份(比如.城市、類別)切分表:插入數(shù)據(jù)時(shí)根據(jù)切分鍵插入到不同分表(比如.業(yè)務(wù)流水表)孤立表:可以存放在任意工作組包含數(shù)據(jù)表(比如.配置表)CDS集群CDS水平拆分單庫(kù)多級(jí)路由水平拆分級(jí)聯(lián)路由策略range軸V0V1SplittingPoint2SplittingPoint1SplittingPoint3SP2<=X<SP3X值Hash路由Range路由策略+Hash路由策略CDS基本特性分庫(kù)分表分區(qū)規(guī)則支持:Hash,Range,List,自定義(groovy)支持oracle、mysql、sqlserver數(shù)據(jù)庫(kù)支持復(fù)合切分鍵支持級(jí)聯(lián)切分鍵支持DDL變更支持Sum/Max/Min/Count/Avg聚合函數(shù)不支持:復(fù)雜子查詢、更新切分鍵字段非分庫(kù)分表支持存儲(chǔ)過程支持大部分DML、DDLCDS特性--讀寫分離負(fù)載均衡權(quán)重設(shè)置故障恢復(fù)主備備查詢主備備工作組1工作組2APPCDS更新查詢更新復(fù)制復(fù)制復(fù)制復(fù)制CDS特性—Failover適用于流水型業(yè)務(wù)表,記錄變更與查詢不依賴之前的信息主庫(kù)故障由生產(chǎn)DBA手動(dòng)觸發(fā)推送事件,將新請(qǐng)求指向failover庫(kù),主庫(kù)恢復(fù)后需要手動(dòng)做數(shù)據(jù)回遷操作主備主工作組空備組1查詢2重查備APPCDS復(fù)制復(fù)制CDS特性--Sequence全局Sequence全局唯一不保證全局有序單點(diǎn)問題分表Sequence解決單點(diǎn)問題與分表一一對(duì)應(yīng)唯一性由業(yè)務(wù)保證數(shù)據(jù)管道業(yè)務(wù)庫(kù)BinLogsBinlog讀取解析規(guī)整過濾、規(guī)整、分發(fā)業(yè)務(wù)數(shù)據(jù)數(shù)據(jù)管道服務(wù)業(yè)務(wù)處理事務(wù)消息表WORKER業(yè)務(wù)處理業(yè)務(wù)處理數(shù)據(jù)同步服務(wù)分布式事務(wù)補(bǔ)償業(yè)務(wù)處理其它應(yīng)用場(chǎng)景分布式事務(wù)分布式系統(tǒng)事務(wù)處理的三種方式:分布式事務(wù)基于BestEfforts1PC模式的事務(wù)事務(wù)補(bǔ)償機(jī)制小結(jié):分布式事務(wù),最嚴(yán)格的事務(wù)實(shí)現(xiàn),性能是個(gè)大問題;BestEfforts1PC模式,性能與事務(wù)可靠性的平衡,支持系統(tǒng)水平伸縮,大多數(shù)情況下是最合適的選擇;事務(wù)補(bǔ)償機(jī)制,最終一致,犧牲實(shí)時(shí)一致性,獲得最大的性能回報(bào)。CDS事務(wù)補(bǔ)償基于BASE模型,通過解析Mysql的binlog來實(shí)現(xiàn)事務(wù)補(bǔ)償,對(duì)用戶完全透明,不一致時(shí)間窗口控制在秒級(jí);最終狀態(tài)為事務(wù)失敗狀態(tài),業(yè)務(wù)能感知事務(wù)失敗異常;CDS事務(wù)補(bǔ)償APP(CDSDriver)DB1DB2問題:補(bǔ)償哪個(gè)binlog事務(wù)?怎么建立mit()和mit()的聯(lián)系mit()mit()CDS事務(wù)補(bǔ)償binlogAPP(CDSDriver)DB1mit()DB2mit()Binlog解析事務(wù)補(bǔ)償事務(wù)確認(rèn)binlogCDS事務(wù)服務(wù)反向補(bǔ)償通知補(bǔ)償CDS事務(wù)補(bǔ)償try{ connection1.insert、update、delete...
connection2.insert、update、delete... ......
try{
insert
cluster_xa_1
insert
cluster_xa_2
mit(); connection2.commit(); }catch(Exceptione){
notifyTxServer();//通知事務(wù)服務(wù)
…..}}catch(Exceptione){ connection1.rollback(); connection2.rollback();}CDSDriver向每個(gè)分庫(kù)cluster_xa表插入一條相同記錄,業(yè)務(wù)服務(wù)完全透明CDS事務(wù)補(bǔ)償xa_uuidxa_dbunitscur_dbunittimestampxxxdb1,db2db1xxx……………………Cluster_XA表xa_uuid:每個(gè)外圍事務(wù)分配一個(gè)uuid,唯一標(biāo)識(shí)分布式事務(wù)xa_dbunits:外圍事務(wù)涉及到的數(shù)據(jù)庫(kù)單元cur_dbunit:當(dāng)前分庫(kù)標(biāo)識(shí);timestamp:時(shí)間戳,用于計(jì)算超時(shí)時(shí)間CDS事務(wù)補(bǔ)償--時(shí)序圖CDS事務(wù)補(bǔ)償?進(jìn)程自己宕機(jī)了,而無法向TxServer發(fā)出事務(wù)補(bǔ)償通知…解決了DB2宕機(jī)事務(wù)補(bǔ)償;解決了到DB2網(wǎng)絡(luò)中斷,無法提交的事務(wù)補(bǔ)償;CDS事務(wù)補(bǔ)償--進(jìn)程宕機(jī)DB1BinaryLogs1解析Binlog事務(wù)補(bǔ)償處理DB2BinaryLogs2解析Binlog存在一致的xaId歸集相同的xaId是否失敗業(yè)務(wù)處理調(diào)用成功業(yè)務(wù)處理調(diào)用結(jié)束DB1提交成功了事
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年會(huì)計(jì)職稱考試《初級(jí)會(huì)計(jì)實(shí)務(wù)》錯(cuò)題復(fù)盤強(qiáng)化實(shí)戰(zhàn)試題
- 2025年軟件設(shè)計(jì)師專業(yè)考試模擬試卷:移動(dòng)應(yīng)用開發(fā)技術(shù)試題
- 2025年一建《機(jī)電工程管理與實(shí)務(wù)》考試質(zhì)量控制與驗(yàn)收題庫(kù)解題技巧
- 2025年專升本藝術(shù)概論考試模擬卷(藝術(shù)鑒賞能力測(cè)評(píng)與提升試題)
- 2025年小學(xué)語(yǔ)文畢業(yè)升學(xué)考試全真模擬卷(文學(xué)名著閱讀)-名著閱讀與歷史知識(shí)
- 2025年專升本藝術(shù)概論考試模擬卷(藝術(shù)心理學(xué)分析):藝術(shù)心理治療應(yīng)用試題
- 2025年環(huán)境影響評(píng)價(jià)工程師考試真題卷重點(diǎn)解析
- 熱力設(shè)備應(yīng)急預(yù)案編制指南
- 唯物辯證法的時(shí)空觀
- 艾灰治療皮炎
- 專題07 綜合性學(xué)習(xí)【知識(shí)精研】中考語(yǔ)文二輪復(fù)習(xí)
- 2025年江西陶瓷工藝美術(shù)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)1套
- 《老年肺炎臨床診斷與治療專家共識(shí)(2024年版)》臨床解讀
- 人教版 八年級(jí)英語(yǔ)下冊(cè) Unit 2 單元綜合測(cè)試卷(2025年春)
- 2025年無錫商業(yè)職業(yè)技術(shù)學(xué)院高職單招高職單招英語(yǔ)2016-2024歷年頻考點(diǎn)試題含答案解析
- 2025年中國(guó)金屬加工液市場(chǎng)調(diào)查研究報(bào)告
- 探索商業(yè)保險(xiǎn)與家庭醫(yī)生簽約服務(wù)的合作模式與前景
- 2024年中國(guó)疾病預(yù)防控制中心人事處招聘考試真題
- 《工程熱力學(xué)》課件-12 理想氣體的基本熱力過程
- 2025年中國(guó)高壓變頻器行業(yè)深度調(diào)研與投資戰(zhàn)略規(guī)劃分析報(bào)告
- 2025年貴州通服安順分公司招聘筆試參考題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論