行業資訊
什么是海外云雙寫實現數據遷移方案?隨著業務的發展,存儲也會經常性的需要遷移。雙寫是比較靠譜不用停機,不用看辦公室外凌晨4點的風景,數據遷移將一批數據從同構存儲系統(如MySQLA到MySQLB)或異構存儲系統(如MySQL-MongoDB)間搬運遷移。最簡單的數據遷移方式是通過腳本或定時任務將數據進行搬運,亦或是通過類似canal之類的工具進行數據同步。
海外云數據庫購買:http://www.bxgb88.com/cloud/108vps.html
雙寫就是在線上系統里面,之前所有寫庫的地方,增刪改操作,都除了對老庫增刪改,都加上對新庫的增刪改,這就是所謂雙寫,同時寫倆庫,老庫和新庫??梢员WC遷移過程是在線的、遷移前后數據是一致的、遷移過程是可回滾的。數據雙寫遷移方案分為五大步,分別是:同步、雙寫、校驗、切讀、切寫。以MySQL數據遷移至MongoDB為例來說明這五大步的流程。
海外云數據遷移雙寫方案可通過canal或mq做實現:
1、增加新庫,按照現有節點, 增加對應的數量。
2、數據遷移:避免增量影響, 先斷開主從,再導入(耗時較長), 同步完成并做校驗
3、增量同步:開啟Canal同步服務, 監聽從節點數據庫, 再開啟主從同步,從節點收到數據后會通過Canal服務, 傳遞至新的DB節點。
4、切換新庫:通過Nginx,切換訪問流量至新的服務。
5、修復切換異常數據:在切換過程中, 如果出現,Canal未同步,但已切換至新庫的請求(比如下單,修改了資金, 但還未同步 ), 可以通過定制程序, 讀取檢測異常日志,做自動修復或人工處理。
針對此種情況, 最好是在凌晨用戶量小的時候, 或專門停止外網訪問,進行切換,減少異常數據的產生。
6、數據校驗:為保障數據的完全一致, 有必要對數據的數量完整性做校驗。
雙寫方案可以實現數據的實時同步和遷移,可以保證數據的一致性和完整性,但是需要考慮到數據同步的性能和可靠性問題。同時,雙寫方案也需要考慮到數據的安全性和隱私性問題,需要采取相應的安全措施來保護數據的安全性。
導完一輪之后,有可能數據還是存在不一致,那么就程序自動做一輪校驗,比對新老庫每個表的每條數據,接著如果有不一樣的,就針對那些不一樣的,從老庫讀數據再次寫。反復循環,直到兩個庫每個表的數據都完全一致為止。
接著當數據完全一致了,就 ok 了,基于僅僅使用分庫分表的最新代碼,重新部署一次,不就僅僅基于分庫分表在操作了么,還沒有幾個小時的停機時間,很穩。所以現在基本玩兒數據遷移之類的,都是這么干的。
互聯數據提供完整的端到端云遷移解決方案,將企業客戶的系統和數據平滑遷移至各大公有云:亞馬遜云、谷歌云、微軟云、阿里云、華為云等。