色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內(nèi)不再提示

數(shù)據(jù)遷移和數(shù)據(jù)一致性的問題

倩倩 ? 來源:juejin.cn ? 作者:juejin.cn ? 2022-09-26 10:27 ? 次閱讀

前言

通過對數(shù)據(jù)的垂直拆分或水平拆分后,我們解決了數(shù)據(jù)庫容量、性能等問題,但是將會面臨數(shù)據(jù)遷移和數(shù)據(jù)一致性的問題。

在數(shù)據(jù)遷移方面,需要考慮如何快速遷移、平滑遷移、不停機的遷移等。待數(shù)據(jù)遷移完畢后,還需要校驗數(shù)據(jù)的完整性。

數(shù)據(jù)一致性方面,要根據(jù)的業(yè)務(wù)來判斷是否要必要引入分布式事務(wù),如果需要引入分布式事務(wù),需要斟酌是采用XA,還是基于BASE的柔性事務(wù)。

基于 Spring Boot + MyBatis Plus + Vue & Element 實現(xiàn)的后臺管理系統(tǒng) + 用戶小程序,支持 RBAC 動態(tài)權(quán)限、多租戶、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能

項目地址:https://gitee.com/zhijiantianya/ruoyi-vue-pro

視頻教程:https://doc.iocoder.cn/video/

數(shù)據(jù)遷移

數(shù)據(jù)遷移是很容易出故障的一個環(huán)節(jié),需要考慮怎么更加平滑的遷移舊數(shù)據(jù)到新的數(shù)據(jù)庫和系統(tǒng),以及達到數(shù)據(jù)準確、快速遷移、減少停機、對業(yè)務(wù)的影響小等,特別是異構(gòu)的數(shù)據(jù)結(jié)構(gòu)情況下,難度更大。

全量

全量遷移的過程如下:

業(yè)務(wù)系統(tǒng)停機。

數(shù)據(jù)庫遷移,校驗數(shù)據(jù)一致性。

然后業(yè)務(wù)系統(tǒng)升級,接入新的數(shù)據(jù)庫。

缺點:

需要業(yè)務(wù)系統(tǒng)停機

遷移時間較長,對業(yè)務(wù)影響較大。如果是異構(gòu)數(shù)據(jù)的話,需要使用程序來處理,遷移時間更長。

全量+增量

全量+增量遷移的方式,需要依賴數(shù)據(jù)本身的創(chuàng)建時間,步驟如下:

先同步數(shù)據(jù)到最近的某個時間戳(創(chuàng)建時間)。

然后發(fā)布系統(tǒng)升級維護的通知。

然后同步最近一段時間變化的數(shù)據(jù)。

最后升級系統(tǒng),接入新的數(shù)據(jù)庫。

全量+增量的同步相比全量同步的方式,大大的減少了系統(tǒng)停機的時間,對業(yè)務(wù)影響較小。

binlog+全量+增量

binlog+全量+增量是通過從數(shù)據(jù)庫的主庫或者從庫解析和重新構(gòu)造數(shù)據(jù),實現(xiàn)復(fù)制。

通常情況下都需要中間件等工具的支持,一般需要中間件等工具的支持。可以實現(xiàn)多線程、斷點續(xù)傳、全量和增量數(shù)據(jù)的同步,還可以實現(xiàn)自動擴容和縮容。

常見的工具有:Canal、ShardingSphere-scaling等

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 實現(xiàn)的后臺管理系統(tǒng) + 用戶小程序,支持 RBAC 動態(tài)權(quán)限、多租戶、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能

項目地址:https://gitee.com/zhijiantianya/yudao-cloud

視頻教程:https://doc.iocoder.cn/video/

分布式事務(wù)

XA分布式事務(wù)

XA分布式事務(wù),是數(shù)據(jù)庫本身支持的協(xié)議,具備強一致性。

96aab1ce-3d3f-11ed-9e49-dac502259ad0.jpg

XA分布式事務(wù)的組件:

應(yīng)用程序(Application Program, 簡稱AP): 用于定義事務(wù)邊界,即事務(wù)的開始和結(jié)束,并且在事務(wù)邊界內(nèi)對資源進行操作。

資源管理器(Resource Manager, 簡稱RM): 如數(shù)據(jù)庫、文件系統(tǒng),并且提供訪問資源的方式。

事務(wù)管理器(Transaction Manager, 簡稱TM): 負責(zé)分配事務(wù)唯一標(biāo)識,監(jiān)控事務(wù)的執(zhí)行進度,并且負責(zé)事務(wù)的提交、回滾等。

XA接口:

xa_start 負責(zé)開啟或者恢復(fù)一個事務(wù)分支

xa_end 負責(zé)取消當(dāng)前線程與事務(wù)分支的關(guān)聯(lián)

xa_prepare 詢問RM是否準備好提交事務(wù)分支

xa_commit 通知RM提交事務(wù)分支

xa_rollback 通知RM回滾事務(wù)分支

xa_recover 需要恢復(fù)的XA事務(wù)

MySQL從5.0.3開始支持InnoDB引擎的XA分布式事務(wù)。

96c5614a-3d3f-11ed-9e49-dac502259ad0.jpg

完整的XA事務(wù)處理流程如下:

96ee0b2c-3d3f-11ed-9e49-dac502259ad0.jpg

主流的XA框架有:Atomikos、Narayana、Seata

XA分布式事務(wù)存在的問題:

同步阻塞:全局事務(wù)包含了多個獨立的事務(wù)分支,這一組事務(wù)分支要么都不成功,要不都失敗,各個分支的ACID特性共同構(gòu)成了全局事務(wù)的ACID特性。如果對讀操作很敏感,需要將數(shù)據(jù)庫的隔離級別設(shè)置為SERIALIZABLE,性能特別的差。

單點故障:TM存在單點故障,需要考慮TM高可用性。

數(shù)據(jù)不一致:極端情況下,會出現(xiàn)事務(wù)失敗問題,需要監(jiān)控和人工處理。即二階段commit請求后,發(fā)送網(wǎng)絡(luò)故障,只有一部分RM收到請求,其他節(jié)點沒有收到Commit請求的情況。

柔性事務(wù)

BASE的核心在于,保證系統(tǒng)基本可用的前提下,通過利用柔性狀態(tài)(支付操作后不是支付成功,而是支付中狀態(tài)),實現(xiàn)數(shù)據(jù)的最終一致性,如下:

基本可用(Basically available),分布式事務(wù)參與方不一定同時在線。

柔性狀態(tài)(Soft state), 允許系統(tǒng)狀態(tài)更新有一定的延遲,出現(xiàn)一些中間狀態(tài),這個延遲對客戶來說不一定能夠察覺。

最終一致性(Eventually consistent),通常是通過消息傳遞的方式保證系統(tǒng)的最終一致性。

柔性事務(wù)核心理念是通過業(yè)務(wù)邏輯將互斥鎖操作從RM層上升到業(yè)務(wù)層,通過放寬對強一致性的要求,來換取系統(tǒng)吞吐量的提升。

9729c7ca-3d3f-11ed-9e49-dac502259ad0.jpg

BASE柔性事務(wù)常見模式

TCC: 通過手動補償處理

AT: 通過自動補償處理

TCC介紹

TCC模式即將每個服務(wù)業(yè)務(wù)操作分成兩個階段,第一個階段檢查并預(yù)留相關(guān)資源,第二個階段根據(jù)所有服務(wù)業(yè)務(wù)的try狀態(tài)來操作,如果都成功,則進行Confirm操作,如果任意一個Try發(fā)送錯誤,則全部Cancel。

Try:準備操作,完成所有的業(yè)務(wù)檢查,預(yù)留業(yè)務(wù)資源。

Confirm:真正執(zhí)行的業(yè)務(wù)邏輯,不做任意的業(yè)務(wù)檢查,只使用Try階段預(yù)留的業(yè)務(wù)資源。因此Try操作成功,Confirm必須能成功。同時,Confirm操作必須保證冥等性,保證一筆分布式事務(wù)能切只能成功一次。

Cancel:釋放Try階段預(yù)留的業(yè)務(wù)資源,同樣Cancel操作也必須滿足冥等性。

977a8fca-3d3f-11ed-9e49-dac502259ad0.jpg

TCC模型實際是通過業(yè)務(wù)分解來實現(xiàn)分布式事務(wù),對業(yè)務(wù)有較強的侵入性。

TCC模型需要注意的地方:

允許空回滾,即try沒有完成資源預(yù)留,允許短路操作。

防懸掛控制,即需要保證,cancel必須在try之后才執(zhí)行。

冥等性設(shè)計,即需要保證confirm和cancel需要保證冥等性,防止網(wǎng)絡(luò)因素導(dǎo)致數(shù)據(jù)混亂。

AT

AT模式就是兩階段提交,自動生成反向SQL,當(dāng)發(fā)生異常的時候,通過反向SQL回滾數(shù)據(jù)。

97cd1362-3d3f-11ed-9e49-dac502259ad0.jpg

Seata框架對AT的支持如下:

97eb13d0-3d3f-11ed-9e49-dac502259ad0.jpg

第一階段,業(yè)務(wù)數(shù)據(jù)和回滾日志記錄在同一個本地事務(wù)中提交,釋放本地鎖和連接資源。

第二階段,提交異步化,非常快速的完成,回滾的話通過一階段的回滾日志進行反向補償。

柔性事務(wù)下的事務(wù)特性

原子性:正常情況下保證

一致性:某個時間點,數(shù)據(jù)存在不一致,但是最終是一致的。

隔離性:某個時間點,A能讀到B事務(wù)未提交的結(jié)果,即會臟讀現(xiàn)象。

持久性:和本地事務(wù)一樣,只要commit則數(shù)據(jù)就會被持久化。

總結(jié)

分布式事務(wù)主要目的是解決數(shù)據(jù)一致性問題,XA強一致,但是吞吐量太低,不利于高并發(fā)場景。柔性事務(wù)不保證強一致性,但是通過補償實現(xiàn)最終一致性,常見的補償有重試補償、調(diào)度補償、人工補償?shù)取?/p>

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標(biāo)題:分庫分表后,數(shù)據(jù)庫數(shù)據(jù)一致性問題如何解決?

文章出處:【微信號:芋道源碼,微信公眾號:芋道源碼】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    云原生和數(shù)據(jù)庫哪個好些?

    云原生和數(shù)據(jù)庫哪個好些?云原生和數(shù)據(jù)庫各有其獨特的優(yōu)勢,適用于不同的場景。云原生強調(diào)高效資源利用、快速開發(fā)部署和高可伸縮,適合需要高度靈活性和快速迭代的應(yīng)用。而
    的頭像 發(fā)表于 11-29 10:07 ?128次閱讀

    一致性測試系統(tǒng)的技術(shù)原理和也應(yīng)用場景

    網(wǎng)絡(luò)癱瘓等問題。因此,為了保證CAN FD網(wǎng)絡(luò)的正常安全運行,需要對物理層、數(shù)據(jù)鏈路層和應(yīng)用層進行一致性測試。例如,物理層一致性測試主要是對CAN FD網(wǎng)絡(luò)節(jié)點的電阻特性、電容特性和總線終端電阻以及
    發(fā)表于 11-01 15:35

    異構(gòu)計算下緩存一致性的重要

    在眾多回復(fù)中,李博杰同學(xué)的回答被認為質(zhì)量最高。他首先將緩存一致性分為兩個主要場景:是主機內(nèi)CPU與設(shè)備間的一致性;二是跨主機的一致性
    的頭像 發(fā)表于 10-24 17:00 ?509次閱讀
    異構(gòu)計算下緩存<b class='flag-5'>一致性</b>的重要<b class='flag-5'>性</b>

    級聯(lián)一致性和移相器校準應(yīng)用手冊

    電子發(fā)燒友網(wǎng)站提供《級聯(lián)一致性和移相器校準應(yīng)用手冊.pdf》資料免費下載
    發(fā)表于 08-29 10:48 ?0次下載
    級聯(lián)<b class='flag-5'>一致性</b>和移相器校準應(yīng)用手冊

    電感值和直流電阻的一致性如何提高?

    提高電感值和直流電阻的一致性,可以從以下幾個方面入手: 、提高電感值的一致性 優(yōu)化磁芯選擇 : 磁芯是電感器的關(guān)鍵組成部分,其材料特性和尺寸直接影響電感值。選擇具有高磁導(dǎo)率、低磁阻和穩(wěn)定性能的材料
    的頭像 發(fā)表于 08-19 15:27 ?315次閱讀

    LIN一致性測試規(guī)范2.1

    電子發(fā)燒友網(wǎng)站提供《LIN一致性測試規(guī)范2.1.pdf》資料免費下載
    發(fā)表于 08-15 17:14 ?3次下載

    新品發(fā)布 | 同星智能正式推出CAN總線一致性測試系統(tǒng)

    CAN總線一致性測試系統(tǒng)CANFD/CAN總線一致性測試系統(tǒng),在硬件系統(tǒng)上基于同星自主研發(fā)的總線分析工具,干擾儀,一致性測試機箱,并搭配程控電源,示波器,數(shù)字萬用表等標(biāo)準外圍儀器設(shè)備;在軟件上
    的頭像 發(fā)表于 07-06 08:21 ?515次閱讀
    新品發(fā)布 | 同星智能正式推出CAN總線<b class='flag-5'>一致性</b>測試系統(tǒng)

    銅線鍵合焊接一致性:如何突破技術(shù)瓶頸?

    在微電子封裝領(lǐng)域,銅線鍵合技術(shù)以其低成本、高效率和良好的電氣性能等優(yōu)勢,逐漸成為芯片與基板連接的主流方式。然而,銅線鍵合過程中的焊接一致性問題是制約其進步發(fā)展和應(yīng)用的關(guān)鍵難題。焊接一致性不僅
    的頭像 發(fā)表于 07-04 10:12 ?1771次閱讀
    銅線鍵合焊接<b class='flag-5'>一致性</b>:如何突破技術(shù)瓶頸?

    請問ESP-NOW對數(shù)據(jù)的完整一致性有校驗嗎?

    當(dāng)使用ESP-NOW時,傳遞的數(shù)據(jù)在傳輸層有對數(shù)據(jù)包的完整(比如對面?zhèn)鹘o我的字節(jié)數(shù)和我收到的字節(jié)數(shù)是否相同)有底層校驗嗎? 還有這個數(shù)據(jù)包是否經(jīng)過了CRC等差錯檢測的校驗?zāi)?就是
    發(fā)表于 06-17 06:55

    為什么主機廠愈來愈重視CAN一致性測試?

    新能源汽車迅猛發(fā)展下整車CAN網(wǎng)絡(luò)架構(gòu)日益復(fù)雜,總線故障等潛在問題時刻影響著運行安全。整車零部件通過CAN一致性測試必將是安全保障的第道門檻。CAN一致性測試,就是要求整車CAN網(wǎng)絡(luò)中的節(jié)點都滿足
    的頭像 發(fā)表于 05-29 08:24 ?1171次閱讀
    為什么主機廠愈來愈重視CAN<b class='flag-5'>一致性</b>測試?

     QSFP一致性測試的專業(yè)測試設(shè)備

    、高速度的光纖接口模塊,廣泛應(yīng)用于數(shù)據(jù)中心、高速以太網(wǎng)和光纖通信等領(lǐng)域。本文將詳細探討QSFP一致性測試的目的、測試內(nèi)容、測試方法以及測試的重要等方面。 QSFP一致性測試的目的是確
    的頭像 發(fā)表于 03-14 10:40 ?589次閱讀
     QSFP<b class='flag-5'>一致性</b>測試的專業(yè)測試設(shè)備

    銅線鍵合焊接一致性:微電子封裝的新挑戰(zhàn)

    在微電子封裝領(lǐng)域,銅線鍵合技術(shù)以其低成本、高效率和良好的電氣性能等優(yōu)勢,逐漸成為芯片與基板連接的主流方式。然而,銅線鍵合過程中的焊接一致性問題是制約其進步發(fā)展和應(yīng)用的關(guān)鍵難題。焊接一致性不僅
    的頭像 發(fā)表于 03-13 10:10 ?1304次閱讀
    銅線鍵合焊接<b class='flag-5'>一致性</b>:微電子封裝的新挑戰(zhàn)

    企業(yè)數(shù)據(jù)備份體系化方法論的七大原則:深入理解數(shù)據(jù)備份的關(guān)鍵原則:應(yīng)用一致性與崩潰一致性的區(qū)別

    在數(shù)字化時代,數(shù)據(jù)備份成為了企業(yè)信息安全的核心環(huán)節(jié)。但在備份過程中,兩個關(guān)鍵概念——應(yīng)用一致性和崩潰一致性,常常被誤解或混淆。本文旨在闡明這兩個概念的差異,并分析它們在數(shù)據(jù)備份中的重要
    的頭像 發(fā)表于 03-11 14:05 ?459次閱讀
    企業(yè)<b class='flag-5'>數(shù)據(jù)</b>備份體系化方法論的七大原則:深入理解<b class='flag-5'>數(shù)據(jù)</b>備份的關(guān)鍵原則:應(yīng)用<b class='flag-5'>一致性</b>與崩潰<b class='flag-5'>一致性</b>的區(qū)別

    深入理解數(shù)據(jù)備份的關(guān)鍵原則:應(yīng)用一致性與崩潰一致性的區(qū)別

    深入理解數(shù)據(jù)備份的關(guān)鍵原則:應(yīng)用一致性與崩潰一致性的區(qū)別 在數(shù)字化時代,數(shù)據(jù)備份成為了企業(yè)信息安全的核心環(huán)節(jié)。但在備份過程中,兩個關(guān)鍵概念——應(yīng)用
    的頭像 發(fā)表于 03-11 11:29 ?905次閱讀
    深入理解<b class='flag-5'>數(shù)據(jù)</b>備份的關(guān)鍵原則:應(yīng)用<b class='flag-5'>一致性</b>與崩潰<b class='flag-5'>一致性</b>的區(qū)別

    DDR一致性測試的操作步驟

    DDR一致性測試的操作步驟? DDR(雙數(shù)據(jù)率)一致性測試是對DDR內(nèi)存模塊進行測試以確保其性能和可靠。在進行DDR一致性測試時,需要遵循
    的頭像 發(fā)表于 02-01 16:24 ?1508次閱讀
    主站蜘蛛池模板: 久cao在线香蕉| 97在线播放视频| 轻点慢点1V2啊高H抽插| 狠狠干2022| 古风一女N男到处做高H| 4hu四虎免费影院www| 亚洲AVAV天堂AV在线网爱情| 中国成人在线视频| 四虎免费影院| 女性私密五月天| 高hbl双性浪荡古代| 四虎影5151毛片在线看| 免费亚洲视频| 古风H啪肉NP文| 99影视久久电影网久久看影院| 久久亚洲精品AV成人无码| 国产美女一区二区| 岛国精品在线观看| chinese极品嫩模videos| 亚洲综合色在线视频久| 污到湿的爽文免费阅读| 日本乱子人伦在线视频| 嫩草影院未满十八岁禁止入内| 国产精品一区二区免费| 达达兔午夜一级毛片| av网站视频在线观看| 曰本xxⅹ孕妇性xxx| 亚洲你我色| 亚洲AV国产福利精品在现观看| 美女黄图大全| 伦理 电影在线观看| 久久青青草原综合伊人| 久久国产一区二区三区| 精品日韩视频| 国语自产视频在线不卡| 国产囗交10p| 国产一区二区波多野结衣| 国产毛片女人18水多| 国产精品无码麻豆放荡AV| 国产精品成人无码久免费| 国产精品成人A蜜柚在线观看|