由于老系统满足不了业务需求,因此需要开发新系统,并且使用新的语言和架构,老系统的数据库数据肯定是不能弃掉,需要平滑迁移。而且还由于老系统的开发人员不在和严重不足,无法配合新旧系统迁移。基于这个环境有以下方案。
分为两部分:静态数据的数据迁移和动态数据的数据同步。
历史数据迁移
数据迁移部分,主要完成的是静态数据,可以理解为历史数据的迁移,实际业务不要求很高的实时性,有很多方案,比如使用新旧库中的中间表,copy表,停机迁移、使用迁移工具sqlload等。可以线下调试完毕,然后上线,也可以在用户访问低峰期访问只读库的方式迁移。网上有很多方案,在这里不再赘述。
实时数据同步
现状最大的问题是,我们的老系统没有人维护,只能是新系统驱动的模式进行mapping。但是业务的实时性还得保证。因此提出使用以下方案保证实时性。
- 创建实时同步表
DDL如下
CREATE TABLE `table_action_log` (
`id` bigint(22) NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`table_name` varchar(100) DEFAULT NULL COMMENT '被操作表名称column_value',
`table_