系统微服务后的原系统数据迁移方案

构思

参考的文献:

熊辉, 刘彦峰, and 郭大庆. "分布式异构数据库迁移系统的设计与实现." 计算机工程 34.4(2008):57-59.

老系统的数据库结构和新系统的数据库结构差异太大,老系统的一张表的数据可能被直接拆分到不同的微服务系统(ps: 下面称为中台),新系统的一张表的数据又来自老系统不同的表。市面上的迁移工具虽然有支持列级别粒度的数据迁移,但是对于的这次数据迁移的任务要求来说,还是难以胜任的。包括阿里云的商用迁移工具DTS。

在这种条件下,根据资料构思出一个数据迁移的方案。中台提供数据迁移接口,通过数据分流层整合来自不同中台的的数据迁移接口。新建立一个工程读取数据,并做好表数据拆分以及组合,调用数据分流层的接口,完成数据的迁移。图像表示如图:

数据迁移结构图

数据迁移是一个工程。对于表数据的拆分,再组合和迁移时数据的事物性等都可以通过代码控制。相当灵活。

第 1 层有底层独立自治的数据库的访问对象 Query object 和各关系型数据库。Query object 载有各个数据库商家 开发的针对各自数据库的 JDBC 驱动,实现数据库的连接和 数据访问。各 DBMS 运行于各自的数据库应用系统中,是产生 异构数据库的原因;第 2 层消除异构模式,是异构数据库得以 实现的基础,包括:消除命名冲突,格式冲突,结构冲突, 数据冲突,保留关键字冲突,大字段冲突等,有转义处理、 大型数据字段处理和出错处理功能模块;第 3 层是数据库转 换规则和断点续传,定制了各个数据库之间数据类型的映射 关系,是异构数据库得以运行的依赖;第 4 层是异构数据库 的功能层,主要实现创建表、整体迁移和部分迁移,在第 2 层和第 3 层的支持下实现数据的共享和透明访问。 -- 来源于参考文献

实践

猜你喜欢

转载自my.oschina.net/u/3633974/blog/1551644
今日推荐