数据迁移之同步双写方案
数据迁移背景
- 项目初始,是单库。分了2个表 就可以满足业务数据需求
- 随着时间推移,多年后,数据越来越多,当前的数据库设计已经不能满足当前设计
- 于是,需要如上图一样,进行分库再分表。
数据迁移方案
由于想要当前业务不停机的情况下进行数据迁移,于是,查找了许多资料 。最终找到了 同步双写方案
如上图所示
- 应用还是保持从旧库中读写数据
- 编写个应用,通过canal将增量数据通过新的分库分表规则也同时写入新库
- 同时 编写个旧数据的迁移的工具,通过新的分库分表规则写入新库
- 旧数据迁移完成后,验证新旧库中数据是否一致,一致后,既可切换位新库
后续
目前,从设计方案来说,个人认为是可行的。
参考资料:【滴流乱转的小胖子】: https://www.jianshu.com/p/ab2efddfafbd