數據遷移背景
- 項目初始,是單庫。分了2個表 就可以滿足業務數據需求
- 隨着時間推移,多年后,數據越來越多,當前的數據庫設計已經不能滿足當前設計
- 於是,需要如上圖一樣,進行分庫再分表。
數據遷移方案
由於想要當前業務不停機的情況下進行數據遷移,於是,查找了許多資料 。最終找到了 同步雙寫方案
如上圖所示
- 應用還是保持從舊庫中讀寫數據
- 編寫個應用,通過canal將增量數據通過新的分庫分表規則也同時寫入新庫
- 同時 編寫個舊數據的遷移的工具,通過新的分庫分表規則寫入新庫
- 舊數據遷移完成后,驗證新舊庫中數據是否一致,一致后,既可切換位新庫
后續
目前,從設計方案來說,個人認為是可行的。
參考資料:【滴流亂轉的小胖子】: https://www.jianshu.com/p/ab2efddfafbd