智能制造
手把手带你从异构数据库迁移到崖山数据库

发布于:2024-06-24 11:58:29  来源:智能制造  点击量:14次

  在国产化浪潮下,数据库系统的国产化替代成为了一个日益重要的议题,有助于企业降低对外依赖,提升信息安全和自主性。

  以Oracle、MySQL为代表的传统关系型数据库管理系统,在企业应用中占据了重要的地位。如何从异构的Oracle、MySQL等数据库将存量的数据迁移至国产数据库,是企业技术升级和国产化战略中不可或缺的一环。

  以一个离线场景为例,通常以“可行性评估”→“方案设计”→“迁移实施”→“割接上线”四个步骤来完成一整个迁移过程。

  需要注意的是,在做离线迁移过程中,业务需要停机,等待迁移完成、割接清楚,再次上线

  首先需要仔细考虑迁移前对源端库和目标库的兼容性评估,这是为了判断数据及元数据能否迁移,以及二者兼容性如何?有多少对象是不兼容的。

  第二个维度就是语法的转换,该维度是上一个维度的延伸。当遇到不兼容的对象时,能够有途径做修改,甚至是自动完成转换。

  第二是自动转换后的兼容,即不需要人工介入,工具能帮助做一些语法的转换。第三则是手动的兼容,这个就是我们结合业务判断需要手动修改的部分。维度三:高性能迁移

  通常做数据库替换时,需要停掉业务系统对外的服务,所以一般时间窗口有限,要求迁移工具具备高效的数据传输能力,能够在极短的时间内完成迁移任务,最好能够降低对业务连续性的干扰。

  对于在数据迁移后怎么确保目的库的数据和源数据是不是一致的问题,还需要对迁移后的数据来进行全面、准确的校验,确保数据的一致性、完整性,确保迁移质量。

  如果是针对一次迁移场景来编写大量的脚本,做定制化方案的成本比较高,且难以复用。因此,通过不断实践积累并提炼宝贵的经验与流程,确保迁移方案既具备通用性又易于使用,是特别的重要的。

  YashanDB在进行Oracle、MySQL等异构数据库迁移到YashanDB时,主要是采用以下两种常用迁移手段:

  使用YashanDB自带的工具,如yasldr先采用源库导出工具导出成csv,再使用YashanDB官方导入工具yasldr导入:

  使用开源工具,如Kettle、DBeaver等进行迁移采用ETL工具(如Kettle)或IDE工具(如DBeaver)的数据迁移:

  崖山迁移平台YMP支持Oracle、MySQL等数据库到YashanDB的迁移评估、离线迁移、数据校验的能力。同时YMP提供可视化服务,用户只需通过简单的界面操作,就可以完成从评估到迁移到校验整一个流程的执行与监控,轻轻松松实现低门槛、低成本、高效率的异构数据库迁移实施。

  SQL自动转换YMP支持将源库的SQL语句智能转换成YashanDB的SQL语句。它的原理是将源库的SQL解析成语法树然后根据词法、语法转换规则转换成目标库的语法树,最后对短语进行重组,输出目标库的SQL语句。

  对象智能迁移YMP支持一键整合所有对象元数据迁移,采用端到端性能最优的执行策略。

  数据高性能迁移YMP基于数据库原生高性能导入导出能力,采用流水线多级并行方式,实现高性能数据迁移。满足大规模数据迁移的性能需求,减少迁移时间。

  灵活校验YMP支持多种不同校验方式,包括全量校验和统计校验,范围上能一次选择整库或者批量选择对象来校验,来确保数据一致性和完整性。

  全量校验:抽取两端的数据,遍历全表逐行比对,这样做才能够完整地校验所有数据,当然,在数据量较大的情况下,它的耗时也会相较更多;