【技术实现步骤摘要】
一种异构数据库迁移方法、装置及存储介质
本公开涉及数据库
,尤其涉及一种异构数据库迁移方法、装置及存储介质。
技术介绍
在现代企业的业务系统中,关系型数据库(RelationDatabaseManageSystem,RDBMS)在数据存储中仍然占据着最为重要的地位。随着企业业务的扩展,业务系统不断增加,会使用到多种不同的RDBMS。此时如果需要对不同业务系统的数据进行整合分析,或者是更换数据库,都面临着异构数据库的迁移需求。PostgreSQL、Oracle、SQLserver等关系型数据库,在企业中被广泛应用,因此这些数据库都面临着异构数据库迁移的需求。数据库迁移是一个将数据从源端数据库传送到目标端数据库的过程,在常规的处理方法中,数据库管理员(DBA)需要先将源端数据库的数据备份出来,然后进行手动的语法适配(将源端的数据库的SQL语法转换为目标端数据库的SQL语法),然后传输到目标端数据库所在服务器,再导入目标端数据库。这个过程的弊端在于过程繁琐复杂,耗时长,占用资源多、容易出错导致迁移失败。 >
技术实现思路
...
【技术保护点】
1.一种异构数据库迁移方法,其特征在于,所述方法包括:/n对源数据库中待迁移的源表进行分组,将具有依赖关系的源表分在同一分组中且将被依赖的源表放在依赖该被依赖的源表的前面;/n根据分组数量生成相同数量的迁移任务,所述迁移任务并行运行;/n所述迁移任务将分组内的源表依顺序导出为SQL部分和表内数据部分,并根据预设的源数据库和目的数据库之间的SQL语法映射关系对SQL部分进行SQL语法转换;/n迁移任务首先执行SQL部分,然后再将表内数据部分导入到目的数据库中。/n
【技术特征摘要】
1.一种异构数据库迁移方法,其特征在于,所述方法包括:
对源数据库中待迁移的源表进行分组,将具有依赖关系的源表分在同一分组中且将被依赖的源表放在依赖该被依赖的源表的前面;
根据分组数量生成相同数量的迁移任务,所述迁移任务并行运行;
所述迁移任务将分组内的源表依顺序导出为SQL部分和表内数据部分,并根据预设的源数据库和目的数据库之间的SQL语法映射关系对SQL部分进行SQL语法转换;
迁移任务首先执行SQL部分,然后再将表内数据部分导入到目的数据库中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在基于依赖关系对源表进行分组的基础上,还根据每个源表的大小,均衡每个分组的数据量。
3.根据权利要求1所述的方法,其特征在于,
所述SQL部分和表内数据部分缓存在内存中,迁移任务直接从内存中读取缓存的SQL部分和表内数据部分并进行导入操作。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在执行向目的数据库导入表内数据的操作中断的情况下,从目的数据库中获取目的表的最新写入位置信息,根据目的表的最新写入位置信息确定源表的表内数据中断位置,从中断位置继续执行导入操作。
5.根据权利要求1所述的方法,其特征在于,
通过预先编写的自动化执行脚本,自动执行所述源表分组、对SQL部分进行SQL语法转换以及导入步骤。
6.一种异构数据库迁移装...
【专利技术属性】
技术研发人员:吕江博,
申请(专利权)人:新华三大数据技术有限公司,
类型:发明
国别省市:河南;41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。