CN115934681A - 一种异构关系数据库快速迁移方法及装置 - Google Patents
一种异构关系数据库快速迁移方法及装置 Download PDFInfo
- Publication number
- CN115934681A CN115934681A CN202211672564.0A CN202211672564A CN115934681A CN 115934681 A CN115934681 A CN 115934681A CN 202211672564 A CN202211672564 A CN 202211672564A CN 115934681 A CN115934681 A CN 115934681A
- Authority
- CN
- China
- Prior art keywords
- data
- ddl
- database
- migration
- source database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000013508 migration Methods 0.000 claims abstract description 57
- 230000005012 migration Effects 0.000 claims abstract description 57
- 230000010076 replication Effects 0.000 claims abstract description 21
- 230000008569 process Effects 0.000 claims abstract description 14
- 238000013507 mapping Methods 0.000 claims description 28
- 238000013515 script Methods 0.000 claims description 19
- 238000006243 chemical reaction Methods 0.000 claims description 17
- 238000011156 evaluation Methods 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims description 8
- 238000012986 modification Methods 0.000 claims description 7
- 230000004048 modification Effects 0.000 claims description 7
- 238000012937 correction Methods 0.000 claims description 5
- 238000004140 cleaning Methods 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000008676 import Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000012550 audit Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种异构关系数据库快速迁移方法及装置,能够实现从DB2数据库到Oracle的数据库迁移,包括DDL迁移、数据迁移,实现迁移的标准化和最大限度的自动化,且实现分钟级切换,保证业务连续性,提高应用迁移效率和质量,支持增量复制和反向复制,保证数据安全性,可回退,且支持数据比对,支持迁移和复制过程中状态监控。
Description
技术领域
本发明涉及数据库技术领域,尤其涉及一种异构关系数据库快速方法及装置。
背景技术
随着信息技术不断发展,各行业无时无刻不在产生海量数据。这些数据给社会生活带来便利的同时,也出现了一些挑战,比如数据的存储、管理、搜索等,其中数据存储尤为关键。目前,虽然数据的存储方式多种多样,但银行、电信等领域内,结构化数据十分普遍,关系型数据库的数据存储方式仍然最为常用。
关系型数据库历经多年发展,品类繁多。目前,即使在同一家公司内部,也可能同时存在多种不同类型的关系型数据库。在此背景下,经常会出现这样的需求:不同类型数据库之间需要迁移。现有数据库迁移方法存在过程繁琐复杂、耗时长、占用资源多、容易出错导致迁移失败的问题。
发明内容
为解决现有技术中存在的问题,本发明提出一种异构关系数据库快速迁移方法,其中迁移方法包括以下步骤:
1.DDL迁移,具体包括以下步骤:
(1)配置源数据库和目标数据库,配置数据对象和数据类型的映射关系和转换规则;
(2)连接源数据库,读取源数据库的对象元数据;
(3)对DDL迁移进行评估,并生成评估报告;
(4)根据迁移转换规则将可以自动转换的对象生成目标库对象的创建DDL和清理回退脚本;
(5)需要修改的对象在生成DDL后进行手动修改;
(6)在目标库执行转换后的DDL,记录执行日志,设置检查点;
(7)执行过程中记录对执行结果进行校验,检查执行过程中的问题,发现问题及时修改;修正后可继续执行,如果发现无法完成任务,执行回退脚本;
(8)生成的DDL保存在平台上,可以在另一个迁移实例上导入,或者直接作为脚本执行。
2.数据迁移,将源数据库数据全量迁移到目标数据库,具体包括数据全量复制、数据增量复制、数据反向复制、数据对比验证。
(1)数据全量复制,将源数据库的所有数据从零开始到复制时间点的全部数据刷新到目标数据库;
(2)数据增量复制,对比源数据库和目标数据库,将源数据库新增的数据同步到目标数据库;
(3)数据反向复制,从目标数据库向源数据库回写增量数据;
(4)数据对比验证,对源数据库和目标数据库的表的数据量进行对比,检验数据是否复制完整和正确。
本发明提出一种异构关系数据库快速迁移装置,该装置包括DDL迁移模块和数据迁移模块,其中DDL迁移模块包括:
(1)系统配置单元,用于配置源数据库和目标数据库,配置数据对象和数据类型的映射关系和转换规则;
(2)源数据库连接单元,用于读取源数据库的对象元数据;
(3)DDL迁移评估单元,用于对DDL迁移进行评估,并生成评估报告;
(4)DDL创建单元,用于根据迁移转换规则将可以自动转换的对象生成目标库对象的创建DDL和清理回退脚本;
(5)DDL手动修改单元,用于对需要修改的对象在生成DDL后进行手动修改;
(6)DDL执行单元,用于在目标库执行转换后的DDL,记录执行日志,设置检查点;
(7)结果校验单元,用于执行过程中对执行结果进行校验,检查执行过程中的问题,发现问题及时修改;修正后可继续执行,如果发现无法完成任务,执行回退脚本;
(8)DDL保存单元,用于将生成的DDL保存在平台上,可以在另一个迁移实例上导入,或者直接作为脚本执行。
数据迁移模块包括:
(1)数据全量复制子模块,用于将源数据库的所有数据从零开始到复制时间点的全部数据刷新到目标数据库;
(2)数据增量复制子模块,用于对比源数据库和目标数据库,将源数据库新增的数据同步到目标数据库;
(3)数据反向复制子模块,用于从目标数据库向源数据库回写增量数据;
(4)数据对比验证子模块,用于对源数据库和目标数据库的表的数据量进行对比,检验数据是否复制完整和正确。
使用本发明后,能够实现从DB2数据库到Oracle的数据库迁移,实现迁移的标准化和最大限度的自动化,且可实现分钟级切换,保证业务的连续性,提高应用迁移效率和质量,支持增量复制和反向复制,保证数据安全性,可回退,且支持数据比对,支持迁移和复制过程中状态监控。
附图说明
图1为部分数据转换主要类型图。
图2为部分类型的映射和转换图。
图3为DDL的迁移评估图。
图4为DDL需要修改的功能点分布图。
图5为DDL手动修改界面。
图6为DDL目标库执行结果。
图7为数据的全量复制示意图。
图8为数据的增量复制示意图。
图9为数据的反向复制示意图。
图10为本发明的方法流程图。
图11为本发明的装置示意图。
具体实施方式
1.DDL迁移
DDL迁移的主要功能包括:
(1)对象映射和转换规则
主要的步骤包括:
1)数据库配置
配置源数据库、目标数据库IP/HOST、端口、数据库名、用户名(DBA权限)、密码等信息;配置完成后可检测源、目标数据库的连通性,显示连接成功方可进行下一步操作;完成测试连接后会显示,是依据源库和目标库的字符集为字符串类型字段扩展长度,避免同步数据时数据丢失,可手动修改扩展位数,数字1表示长度不变。
2)表空间映射配置
指定源库和目标库表空间的映射关系,在生成DDL语句的时候,对象所在表空间会根据映射关系做转换;
3)字段类型映射规则配置
字段类型映射规则里有默认的源库与目标库的字段类型映射关系,可以通过修改目标库的字段类型来调整字段类型映射关系;
4)schema映射配置
在生成DDL语句时,对象的schema会根据映射关系做转换。大小写敏感。Schema映射也关联着数据迁移和数据比对功能;
5)表名映射配置
在生成DDL时,根据映射关系将对象名称做转换。大小写敏感。表名映射也关联着数据迁移和数据比对功能。导入表名映射是应对需要映射的关系较多时,可以使用本地的excel批量导入表名映射关系。
6)字段名映射配置
在生成DDL时,根据映射关系将字段名称做转换。大小写敏感。字段名映射也关联着数据迁移和数据比对功能。
转换的主要类型:
·类型映射和转换:
(2)源数据库数据对象读取
通过JDBC方式获取数据库对象的元数据。
(3)DDL评估
点击数量链接可以查看详细哪个对象需要手动修改。
(4)DDL自动转换
根据数据库对象的映射关系和转换规则,对支持自动转换的数据对象,直接转换生成目标库的DDL脚本,对于需要手动修改或者不支持转换的对象进行标注。
(5)DDL手动修改
通过读取源数据库的对象之后,生成对象的DDL,提供界面查看对象的DDL,不支持自动转换的对象可以通过界面人工修改,并导出DDL。
(6)集成SQL审核
集成SQL审核系统,对生成的DDL进行审核,检查语法语义是否正确,检查是否符合开发规范。
(7)DDL目标库执行
(8)DDL目标库执行跟踪和结果校验
DDL在目标库上执行时需要记录详细执行进度和执行的结果,并提供接口供监控模块调用。执行成功后需要进一步检查和分析执行日志,并在目标库运行检查代码或脚本,校验是否执行成功。
(9)DDL存储备份及导入/导出
平台提供DDL保存功能,保存调整后的完整DDL。并提供导入和导出功能,可以在不同迁移实例上导入配置,或者直接作为脚本执行。
基于以上功能模块,DDL迁移的主要流程为:
(1)系统配置好源数据库和目标数据库,配置数据对象和数据类型的映射关系和转换规则,根据具体情况可以使用文件或者数据库配置;
(2)连接源数据库,读取源数据库的对象元数据,可以通过JDBC接口结合SQL语句查询系统元数据表实现。
(3)对DDL迁移进行评估,并生成评估报告,统计可以根据规则自动转换的对象列表和数量,需要手动修改的对象列表和数量,不支持转换的对象列表和数量。
(4)根据迁移转换规则将可以自动转换的对象生成目标库对象的创建DDL和清理回退脚本。
(5)需要修改的对象在生成DDL后进行手动修改,目标数据库不支持的特性,根据具体情况提供替代方案,如调整应用程序。
(6)在目标库执行转换后的DDL,记录执行日志,设置检查点,执行方式可以是脚本方式,也可是JDBC方式。
(7)执行过程中记录对执行结果进行校验,检查执行过程中的问题,发现问题及时修改;修正后可继续执行,如果发现无法完成任务,执行回退脚本。
(8)生成的DDL需要在平台保存,可以在另一个迁移实例上导入,或者直接作为脚本执行,节省DDL迁移时间。
2.数据迁移
数据迁移功能是将源数据库数据全量迁移到目标数据库的过程,具体功能包括数据全量复制、数据增量复制、数据反向复制、数据对比验证等功能。
数据迁移功能前提是执行完DDL迁移,在目标库完成了DDL导入。
(1)数据全量复制,具体示意图见图7。
(2)数据增量复制,具体示意图见图8。
(3)数据反向复制,具体示意图见图9。
(4)数据对比验证,比对源库和目标库中每一行的每个字段数据值。进行数据对比时,遵循以下数据比对策略:
比较全部行数,比较当前数据库中实时行数。
全量流数据比对,逐行比对直到匹配完所有的数据。
以上所述仅为本公开的实施例而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的权利要求范围之内。
Claims (2)
1.一种异构关系数据库快速迁移方法,其特征在于,迁移方法包括以下步骤:
1)DDL迁移,具体包括以下步骤:
(1)配置源数据库和目标数据库,配置数据对象和数据类型的映射关系和转换规则;
(2)连接源数据库,读取源数据库的对象元数据;
(3)对DDL迁移进行评估,并生成评估报告;
(4)根据迁移转换规则将可以自动转换的对象生成目标库对象的创建DDL和清理回退脚本;
(5)需要修改的对象在生成DDL后进行手动修改;
(6)在目标库执行转换后的DDL,记录执行日志,设置检查点;
(7)执行过程中记录对执行结果进行校验,检查执行过程中的问题,发现问题及时修改;修正后可继续执行,如果发现无法完成任务,执行回退脚本;
(8)生成的DDL保存在平台上,可以在另一个迁移实例上导入,或者直接作为脚本执行。
2)数据迁移,将源数据库数据全量迁移到目标数据库,具体包括数据全量复制、数据增量复制、数据反向复制、数据对比验证。
(1)数据全量复制,将源数据库的所有数据从零开始到复制时间点的全部数据刷新到目标数据库;
(2)数据增量复制,对比源数据库和目标数据库,将源数据库新增的数据同步到目标数据库;
(3)数据反向复制,从目标数据库向源数据库回写增量数据;
(4)数据对比验证,对源数据库和目标数据库的表的数据量进行对比,检验数据是否复制完整和正确。
2.一种异构关系数据库快速迁移装置,其特征在于,该装置包括DDL迁移模块和数据迁移模块,其中DDL迁移模块包括:
(1)系统配置单元,用于配置源数据库和目标数据库,配置数据对象和数据类型的映射关系和转换规则;
(2)源数据库连接单元,用于读取源数据库的对象元数据;
(3)DDL迁移评估单元,用于对DDL迁移进行评估,并生成评估报告;
(4)DDL创建单元,用于根据迁移转换规则将可以自动转换的对象生成目标库对象的创建DDL和清理回退脚本;
(5)DDL手动修改单元,用于对需要修改的对象在生成DDL后进行手动修改;
(6)DDL执行单元,用于在目标库执行转换后的DDL,记录执行日志,设置检查点;
(7)结果校验单元,用于执行过程中对执行结果进行校验,检查执行过程中的问题,发现问题及时修改;修正后可继续执行,如果发现无法完成任务,执行回退脚本;
(8)DDL保存单元,用于将生成的DDL保存在平台上,可以在另一个迁移实例上导入,或者直接作为脚本执行。
数据迁移模块包括:
(1)数据全量复制子模块,用于将源数据库的所有数据从零开始到复制时间点的全部数据刷新到目标数据库;
(2)数据增量复制子模块,用于对比源数据库和目标数据库,将源数据库新增的数据同步到目标数据库;
(3)数据反向复制子模块,用于从目标数据库向源数据库回写增量数据;
(4)数据对比验证子模块,用于对源数据库和目标数据库的表的数据量进行对比,检验数据是否复制完整和正确。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211672564.0A CN115934681A (zh) | 2022-12-24 | 2022-12-24 | 一种异构关系数据库快速迁移方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211672564.0A CN115934681A (zh) | 2022-12-24 | 2022-12-24 | 一种异构关系数据库快速迁移方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115934681A true CN115934681A (zh) | 2023-04-07 |
Family
ID=86655900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211672564.0A Pending CN115934681A (zh) | 2022-12-24 | 2022-12-24 | 一种异构关系数据库快速迁移方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115934681A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107122360A (zh) * | 2016-02-24 | 2017-09-01 | 阿里巴巴集团控股有限公司 | 数据迁移系统和方法 |
CN110688370A (zh) * | 2019-10-12 | 2020-01-14 | 新奥(中国)燃气投资有限公司 | 一种数据迁移的方法及装置 |
CN113590588A (zh) * | 2021-07-30 | 2021-11-02 | 广州新丝路信息科技有限公司 | 一种异构数据库增量数据实时迁移方法和相关设备 |
CN114741375A (zh) * | 2022-05-18 | 2022-07-12 | 江苏省联合征信有限公司 | 一种多源异构数据库快速自动数据迁移系统及方法 |
-
2022
- 2022-12-24 CN CN202211672564.0A patent/CN115934681A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107122360A (zh) * | 2016-02-24 | 2017-09-01 | 阿里巴巴集团控股有限公司 | 数据迁移系统和方法 |
CN110688370A (zh) * | 2019-10-12 | 2020-01-14 | 新奥(中国)燃气投资有限公司 | 一种数据迁移的方法及装置 |
CN113590588A (zh) * | 2021-07-30 | 2021-11-02 | 广州新丝路信息科技有限公司 | 一种异构数据库增量数据实时迁移方法和相关设备 |
CN114741375A (zh) * | 2022-05-18 | 2022-07-12 | 江苏省联合征信有限公司 | 一种多源异构数据库快速自动数据迁移系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8996458B2 (en) | High volume, high speed adaptive data replication | |
US9519695B2 (en) | System and method for automating data warehousing processes | |
CN111984621B (zh) | 一种异构数据库迁移方法、装置及存储介质 | |
CN103514223A (zh) | 一种数据仓库数据同步方法和系统 | |
US20090198727A1 (en) | Trace-based database schema evolution method and system | |
US6915313B2 (en) | Deploying predefined data warehouse process models | |
CN110597891A (zh) | MySQL聚合为PostgreSQL数据库的设备、系统、方法、存储介质 | |
KR20080084332A (ko) | 데이터베이스 마이그레이션 장치 및 방법 | |
EP2797001B1 (en) | System and method for creating variants in a test database during various test stages | |
CN112347120B (zh) | 一种基于复杂sql的自动优化方法和装置 | |
US10223390B2 (en) | Automatic data store architecture detection | |
CN108280097B (zh) | 一种数据库系统的故障处理方法和装置 | |
CN112948359A (zh) | 一种基于数据库分库分表的不停机客户数据迁移方法 | |
CN115934681A (zh) | 一种异构关系数据库快速迁移方法及装置 | |
US7725461B2 (en) | Management of statistical views in a database system | |
CN201374063Y (zh) | 一种对通用数据文件进行检查的装置 | |
CN114925142A (zh) | 一种orm框架的多类型数据库兼容方法、装置、设备及介质 | |
CN111259082B (zh) | 大数据环境下实现全量数据同步的方法 | |
CN113239016A (zh) | 数据库设计辅助装置和方法 | |
CN113220726A (zh) | 一种数据质量检测方法及系统 | |
CN112463447A (zh) | 一种基于分布式数据库实现物理备份的优化方法 | |
Singh et al. | Statistically Analyzing the Impact of AutomatedETL Testing on the Data Quality of a DataWarehouse | |
CN111008141A (zh) | 一种自动化增量部署测试环境方法 | |
CN117290361B (zh) | 一种用于数据结构的自动化管理系统及方法 | |
CN114282260A (zh) | 审核执行ClickhouseDDLSQL语义语法的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230407 |
|
RJ01 | Rejection of invention patent application after publication |