你想知道的迁移之道都在这里了 有转移之道

【你想知道的迁移之道都在这里了 有转移之道】数据库迁移的目的是为了业务迁移 , 而业务能否顺利切换取决于数据库的迁移能力和迁移后的准确性 , 站在业务侧的角度 , 至少要满足以下三个正确性才能够去做业务的切换 。
1.背景介绍
随着GaussDB(for openGauss)数据库的不断发展 , 越来越多的客户开始选择使用GaussDB(for openGauss) , 其中很大一部分客户是将现有的系统替换到GaussDB(for openGauss)上 , 客户当前所用的数据库类型多种多样 , 如Oracle、MySQL、PostgreSQL等 。那么如何解决将客户当前数据库迁移到GaussDB(for openGauss)上是一个很迫切的需求 。GaussDB(for openGauss)自带的GDS数据迁移工具实现了GaussDB(for openGauss)之间的高效数据迁移 , 但是无法解决异构同步和实时同步的场景 。华为云数据库迁移工具DRS以一种易用、稳定、高效的云服务为GaussDB(for openGauss)提供了异构迁移和实时同步的能力 , 助力客户轻松将数据库迁移到GaussDB(for openGauss) 。
2.数据库迁移整体解决方案
数据库迁移的目的是为了业务迁移 , 而业务能否顺利切换取决于数据库的迁移能力和迁移后的准确性 , 站在业务侧的角度 , 至少要满足以下三个正确性才能够去做业务的切换 。
  • 对象迁移是正确的
数据库的存储过程、函数、触发器、表结构、索引等全部数据库对象能够完整的迁移到目标库 , 并且能够保证对象的运行逻辑和源库是一致的 。
  • 数据迁移是正确的
将源库的全量数据迁移到目标库 , 当业务对停机时间窗口有要求的时候 , 要考虑全量+增量的在线迁移 , 保证业务不中断 。同时要能够对同步的数据进行校验 , 保证迁移数据的准确性 。
  • 迁移后业务运行是正确的
当对象和数据都迁移到目标库后 , 业务的切换还存在两个风险点 , 一个是业务在目标库的运行结果是否正确 , 另一个是目标库性能能否和源库一样支撑住业务的负载 。因为异构数据库之间的差异还是很大的 , 设计理念和实现方式存在很多不同 , 会导致看上去类似的两个对象 , 其运行结果或效率是完全不同的 。所以要有工具来验证这种差异 , 保证迁移后业务运行的正确性 。
为了实现以上业务切换需要满足的条件 , 华为云提供了数据库迁移的整体解决方案 , 通过语法迁移(UGO) , DRS-数据迁移 , DRS-数据校验和DRS-流量回放4个工具产品形成了整个迁移过程的闭环 。
你想知道的迁移之道都在这里了 有转移之道

文章插图
  • 语法迁移(UGO)
实现了将oracle数据库对象迁移到GaussDB(for openGauss)的能力 , 可以给出完整的迁移评估报告 , 哪些对象可以完全兼容的进行迁移 , 哪些对象需要进行转换进行迁移 , 哪些对象需要业务配合改造 。
  • DRS-数据迁移
实现将Oracle、MySQL、PostgreSQL等数据库数据实时迁移到GaussDB(for openGauss)的能力 。
  • DRS-数据校验
实现了对数据迁移后的一致性校验 , 具备行级比对、内容级比对和实时的增量数据比对的能力 。
  • DRS-流量回放
实现对Oracle数据库的业务流量抓取 , 并对流量SQL进行转换 , 然后在GaussDB(for openGauss)进行回放的能力 。
3.DRS数据迁移上云
你想知道的迁移之道都在这里了 有转移之道

文章插图
DRS提供了简单、易用的操作界面 , 采用流程化的配置方式 , 客户按照提示步骤一步一步操作便可以搭建出同步链路 。DRS除了支持Oracle到GaussDB(for openGauss)的数据迁移外 , 还支持其他数据库之间的数据同步 , 下面给出了当前DRS所支持的源库和目标库类型的列表 。
你想知道的迁移之道都在这里了 有转移之道

文章插图
在数据迁移过程中 , DRS采用很多手段和技术去降低可能存在的风险 , 保证迁移过程的稳定和最终数据的一致性 。
  • 在线迁移
DRS通过全量迁移将客户数据库中的存量数据迁移到GaussDB(for openGauss)中 , 通过增量同步 , 实时解析源库日志 , 将客户的实时变化数据同步到Gauss(for openGauss) , 通过全量和增量的无缝衔接来保证客户在不中断业务的情况下 , 完整地将全部数据迁移到GaussDB(for openGauss) 。