一种面向国产数据库的数据迁移方法及系统技术方案

技术编号:34515659 阅读:12 留言:0更新日期:2022-08-13 21:03
本申请属于数据库处理领域,特别涉及一种面向国产数据库的数据迁移方法及系统。该方法包括:步骤S1、确定待迁移的源数据库中的用户、表、数据及视图对象及相应权限;步骤S2、使用源数据库的导出工具,生成相应的数据库导出文件;步骤S3、将所述数据库导出文件转换为文本格式SQL文件;步骤S4、根据所述源数据库与目标国产数据库之间的数据类型映射关系,将所述文本格式SQL文件批处理成所述目标国产数据库的结构化文件;步骤S5、将所述结构化文件导入到预先设置有与源数据库相同表空间及用户的所述目标国产数据库中;步骤S6、根据迁移日志确定是否存在迁移失败的情况。本申请按需迁移数据,具有高性能、高可扩展性、高可用性的优点。高可用性的优点。高可用性的优点。

【技术实现步骤摘要】
一种面向国产数据库的数据迁移方法及系统


[0001]本申请属于数据库处理领域,特别涉及一种面向国产数据库的数据迁移方法及系统。

技术介绍

[0002]近年来,随着信息化建设的不断推进,应用系统的种类及数量逐年增加,同步暴涨的数据使管理、日常维护及应用受到了巨大的挑战。在实际的生产环境中,数据量的急剧增加导致很多历史建设时采用的关系型数据库出现很多问题,比如数据的访问速度很慢、应用易崩溃等,数据的不断丰富对容量产生巨大的需求,不间断稳定运行需求促使系统具有更高可用性;并且随着5G、IOT的高速发展带来海量数据,以往集中式数据存储方面存在一定局限性,需要数据库支持一站式分析及智能应用,能享用云的高可用、易于管理等特性,同时兼容既有接口;在国家战略上,为了对标国家提出的国产化要求,同时保障型号设计体系下信息化安全性、可靠性、自主可控,需要将型号相关的业务系统切换为国产数据库,运行于国产操作系统,通过安装自主的中间件,保证业务系统平稳运行(功能完备、性能良好),提供型号需要的数据管理服务。
[0003]目前国产数据库的迁移方式多采用配套提供的迁移工具进行自动化迁移。其中可以使用工具进行迁移的仅限与工具兼容性高的源数据库;数据库对象映射关系通常被封装至工具内部,不可读取,当迁移失败时,很难独立对可能发生异常的视图、包、存储过程、函数进行单独迁移;同时大多数都不支持异构同步和实时同步的场景。

技术实现思路

[0004]为了解决上述问题,本申请提供了一种面向国产数据库的数据迁移方法及系统,采用Kettle及Informatica实现数据迁移过程。
[0005]本申请第一方面提供了一种面向国产数据库的数据迁移方法,主要包括:
[0006]步骤S1、确定待迁移的源数据库中的用户、表、数据及视图对象及相应权限;
[0007]步骤S2、使用源数据库的导出工具,生成相应的数据库导出文件;
[0008]步骤S3、将所述数据库导出文件转换为文本格式SQL文件;
[0009]步骤S4、根据所述源数据库与目标国产数据库之间的数据类型映射关系,将所述文本格式SQL文件批处理成所述目标国产数据库的结构化文件;
[0010]步骤S5、将所述结构化文件导入到预先设置有与源数据库相同表空间及用户的所述目标国产数据库中;
[0011]步骤S6、根据迁移日志确定是否存在迁移失败的情况,对于有依赖关系的对象,如果默认迁移顺序不对,则进行二次迁移。
[0012]优选的是,在步骤S1之前进一步包括对所述源数据库进行数据备份。
[0013]优选的是,步骤S5之后,进一步包括:
[0014]对于存在未能成功导出或兼容性处理的数据,通过ETL工具的Informatica模块进
行二次迁移,以及对源数据库中约束、视图、索引进行补充处理,导入到目标数据库中。
[0015]优选的是,所述源数据库包括但不限于mysql、oracle、sqlserver,所述目标国产数据库包括国产ZNBASE数据库。
[0016]本申请第二方面提供了一种面向国产数据库的数据迁移系统,主要包括:
[0017]源数据库对象属性获取模块,用于确定待迁移的源数据库中的用户、表、数据及视图对象及相应权限;
[0018]源数据库文件导出模块,用于使用源数据库的导出工具,生成相应的数据库导出文件;
[0019]格式转换模块,用于将所述数据库导出文件转换为文本格式SQL文件;
[0020]批处理模块,用于根据所述源数据库与目标国产数据库之间的数据类型映射关系,将所述文本格式SQL文件批处理成所述目标国产数据库的结构化文件;
[0021]导入模块,用于将所述结构化文件导入到预先设置有与源数据库相同表空间及用户的所述目标国产数据库中;
[0022]二次迁移模块,用于根据迁移日志确定是否存在迁移失败的情况,对于有依赖关系的对象,如果默认迁移顺序不对,则进行二次迁移。
[0023]优选的是,还包括备份模块,用于对所述源数据库进行数据备份。
[0024]优选的是,还包括补充迁移模块,用于对存在未能成功导出或兼容性处理的数据,通过ETL工具的Informatica模块进行二次迁移,以及对源数据库中约束、视图、索引进行补充处理,导入到目标数据库中。
[0025]优选的是,所述源数据库包括但不限于mysql、oracle、sqlserver,所述目标国产数据库包括国产ZNBASE数据库。
[0026]本申请通过访问和集成相关业务系统数据库、不同形式的数据,按需迁移数据,具有高性能、高可扩展性、高可用性的特点。
附图说明
[0027]图1是本申请面向国产数据库的数据迁移方法的一优选实施例的流程图。
具体实施方式
[0028]为使本申请实施的目的、技术方案和优点更加清楚,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施方式是本申请一部分实施方式,而不是全部的实施方式。下面通过参考附图描述的实施方式是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。基于本申请中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本申请保护的范围。下面结合附图对本申请的实施方式进行详细说明。
[0029]本申请第一方面提供了一种面向国产数据库的数据迁移方法,主要包括:
[0030]步骤S1、确定待迁移的源数据库中的用户、表、数据及视图对象及相应权限;
[0031]步骤S2、使用源数据库的导出工具,生成相应的数据库导出文件;
[0032]步骤S3、将所述数据库导出文件转换为文本格式SQL文件;
[0033]步骤S4、根据所述源数据库与目标国产数据库之间的数据类型映射关系,将所述文本格式SQL文件批处理成所述目标国产数据库的结构化文件;
[0034]步骤S5、将所述结构化文件导入到预先设置有与源数据库相同表空间及用户的所述目标国产数据库中;
[0035]步骤S6、根据迁移日志确定是否存在迁移失败的情况,对于有依赖关系的对象,如果默认迁移顺序不对,则进行二次迁移。
[0036]在一些可选实施方式中,所述源数据库包括但不限于mysql、oracle、sqlserver,所述目标国产数据库包括国产ZNBASE数据库。
[0037]本申请基于本地关系型数据库与国产ZNBASE数据库数据对象的映射关系,借助ETL工具及Python脚本结合的方式实现面向国产ZNBASE数据库的数据迁移。国产ZNBASE数据库具备强一致、高可用分布式架构、分布式水平扩展、高性能、企业级安全等特性。同时提供自动化运维、监控告警等配套服务,为用户提供完整的分布式数据库解决方案。ETL是英文Extract

Transform...

【技术保护点】

【技术特征摘要】
1.一种面向国产数据库的数据迁移方法,其特征在于,包括:步骤S1、确定待迁移的源数据库中的用户、表、数据及视图对象及相应权限;步骤S2、使用源数据库的导出工具,生成相应的数据库导出文件;步骤S3、将所述数据库导出文件转换为文本格式SQL文件;步骤S4、根据所述源数据库与目标国产数据库之间的数据类型映射关系,将所述文本格式SQL文件批处理成所述目标国产数据库的结构化文件;步骤S5、将所述结构化文件导入到预先设置有与源数据库相同表空间及用户的所述目标国产数据库中;步骤S6、根据迁移日志确定是否存在迁移失败的情况,对于有依赖关系的对象,如果默认迁移顺序不对,则进行二次迁移。2.如权利要求1所述的面向国产数据库的数据迁移方法,其特征在于,在步骤S1之前进一步包括对所述源数据库进行数据备份。3.如权利要求1所述的面向国产数据库的数据迁移方法,其特征在于,步骤S5之后,进一步包括:对于存在未能成功导出或兼容性处理的数据,通过ETL工具的Informatica模块进行二次迁移,以及对源数据库中约束、视图、索引进行补充处理,导入到目标数据库中。4.如权利要求1所述的面向国产数据库的数据迁移方法,其特征在于,所述源数据库包括但不限于mysql、oracle、sqlserver,所述目标国产数据库包括国产ZNBASE数据库。5.一种面向国产数据库的数据迁移系...

【专利技术属性】
技术研发人员:张鑫王治元李凌
申请(专利权)人:中国航空工业集团公司沈阳飞机设计研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1