迁移方案详解 | 使用YMP从异构数据库迁移到YashanDB

简介: 迁移方案详解 | 使用YMP从异构数据库迁移到YashanDB

数据迁移简介

01典型场景与需求

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

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

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

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

02 数据库迁移的要点

在迁移链路中,我们通常关注以下五大维度:

维度一:迁移评估

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

对于异构数据库之间的迁移,数据库对象兼容性是一个非常重要的问题。即使目标库对源端库有较好的兼容性,但是因为架构的不同,在一些数据对象、数据类型等方面难免存在差异。

同时为了使表、索引、视图、触发器、序列、函数、包、存储过程、物化视图、同义词、自定义类型、DBLink等复杂对象能够完整、准确的迁移,我们会需要迁移工具具备强大的评估功能,能识别并解决潜在的兼容性问题。

此外,另一个重要的环节是在迁移工作正式展开之前,能够对整体迁移过程所需的时间进行较为精确的预估。

维度二:语法转换

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

这里我们一般认为兼容能力上可以分为3个层级,第一是原生兼容,比如源库的DDL不需要任何修改就可以直接在目标库进行使用。第二是自动转换后的兼容,即不需要人工介入,工具能帮助做一些语法的转换。第三则是手动的兼容,这个就是我们结合业务判断需要手动修改的部分。

维度三:高性能迁移

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

维度四:数据一致性校验

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

维度五:通用性和易用性

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

常用的迁移手段

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

01 使用YashanDB自带的工具,如yasldr

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

优势1:高度灵活性。无须关注源库,只需要导出成csv文件;

优势2:资源最大化利用。可灵活调整导出/导入进程配比,资源利用最大化;

不足:自带的工具可能无法完全自动化处理复杂的DDL差异和数据类型的映射,需要需要用户手动干预或编写脚本。虽然在操作上较为直观,但在界面友好性、任务调度、错误处理、进度监控等方面无法满足需求。

02 使用开源工具,如Kettle、DBeaver等进行迁移

采用ETL工具(如Kettle)或IDE工具(如DBeaver)的数据迁移:

优势:易用性高。对于端到端迁移,不需要序列化与落盘,格式兼容性比文件导入导出要更好;

不足:一是Kettle无法迁移表结构、每张表都需要单独配置;二是开源工具通常针对各类数据库提供通用解决方案,对于具体的端到端数据库兼容支持上需要用户投入大量时间和精力进行定制化调整,比如特殊类型的适配,大对象的支持(较大LOB导致内存溢出)。

鉴于上述两种常用手段存在的局限性,YashanDB依据迁移链路中五大关键维度的实际经验,推出了更好用、更易用,且可复用、易追溯的迁移方案——采用崖山迁移平台(Yashan Migration Platform,YMP)迁移。

_产品已在官网https://download.yashandb.com/download开放下载。

YMP迁移方案及特性

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

YMP五大关键特性

01 精准评估

YMP的评估流程大致如下:从源端采集元数据,然后根据预设好的规则,进行语法的转换,在YashanDB内置库进行回放模拟,如果有不兼容的语句提供改写和改写后再次验证的能力,最后输出评估报告。

YMP对评估覆盖的对象范围较广,包括但不限于:表、索引、视图、触发器、序列、函数、包等。

对于评估的准确性,市面上大部分的工具做评估的时候都会采取预设好的规则来进行判断,但是YMP除了实现上面的功能外,还会把规则应用后的语句在YMP的内置YashanDB数据库进行模拟执行,内置库可以用于模拟评估的库和最终迁移的目标库版本是否一致,使用起来既保证了评估结果的正确性又比较灵活。

为了保障规则转换评估语句的可靠性,YMP在真正执行元数据对象迁移前,就已经在相同版本的内置库执行了一次,并模拟出真实环境执行的结果,最大程度降低迁移时的兼容性风险。

02 SQL自动转换

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

对于转换过程中无法自动转换的语法,YMP提供了修改窗口,可以进行手动的编辑和验证。

下面以一个实际的数据库系统迁移为例:总共评估对象3587个,其中原生兼容的对象有2912个,占比81.18%,自动兼容的有675个,占比18.82%;整体兼容率达到100%。

03 对象智能迁移

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

元数据分段迁移:合理编排迁移顺序,优化性能;

对象依赖梳理:评估时从源库获取对象依赖关系,对象间依赖关系正确不遗漏;

并行参数优化:支持针对索引、约束等在大数据量下迁移耗时较大的对象设置并行度等优化参数。

04 数据高性能迁移

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

满足大数据量场景的迁移性能要求(100MB~1GB/s);

灵活调整两端读、写任务配比,实现资源利用最大化;

特殊类型做针对性适配,例如对较大LOB,支持分段迁移,避免内存溢出。

05 灵活校验

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

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

统计校验:更轻量级的校验,通过对比源库和目标库表的行数来快速确认数据是否完整。

崖山迁移平台YMP是YashanDB目前推荐的数据库迁移的解决方案,以标准化、流程化的步骤,高效稳定地完成数据迁移任务。接下来,我们将继续优化和完善YMP迁移平台的功能、性能和易用性,满足更多企业级的迁移需求。

目录
打赏
0
13
13
0
98
分享
相关文章
【瑶池数据库动手活动及话题本周精选(体验ADB、 SelectDB,参与 RDS 迁移训练营)】(4.21-4.27)
本文为 “瑶池数据库动手活动及话题精选” 系列第一期,聚焦 SelectDB 日志分析、AnalyticDB Zero-ETL 集成、RDS 迁移训练营三大实战,设积分、实物等多重奖励,同步开启话题互动。点击链接参与,每周解锁数据库实战新场景。
一文拆解 YashanDB Cloud Manager,数据库运维原来还能这么“智能”!
传统数据库运维依赖人工,耗时耗力还易出错。YashanDB Cloud Manager(YCM)作为“智能运维管家”,实现主动、智能、可视化的运维体验。它提供实时资源监控、智能告警系统、自动巡检机制、高可用架构支持和强大的权限管理功能,帮助用户统一管理多实例与集群,减少人工干预,构建现代化数据库运维体系,让企业高效又安心地运行数据库服务。
用 YashanDB Migration Platform,数据库迁移不再是“高风险动作”
数据库迁移一直是企业信息化中的难题,耗时长、风险高。YashanDB Migration Platform(YMP)提供一站式解决方案,涵盖评估、改写、迁移与校验全流程。其核心能力包括SQL自动适配、智能对象迁移、高性能数据通道及数据对比校验,显著降低人力成本与业务风险。适合从Oracle、MySQL等迁移到YashanDB的企业,以及需异构整合或国产化替代的集团、政府和国企项目。YMP不仅是工具,更是推动数据库国产化的关键平台。
YashanDB数据库服务端SSL连接配置
YashanDB支持通过SSL连接确保数据传输安全,需在服务端生成根证书、服务器证书及DH文件,并将根证书提供给客户端以完成身份验证。服务端配置包括使用OpenSSL工具生成证书、设置SSL参数并重启数据库;客户端则需下载根证书并正确配置环境变量与`yasc_env.ini`文件。注意:启用SSL后,所有客户端必须持有根证书才能连接,且SSL与密码认证独立运行。
【YashanDB 知识库】ycm 托管数据库时报错 OM host ip:127.0.0.1 is not support join to YCM
在托管数据库时,若 OM 的 IP 被设置为 127.0.0.1,将导致无法托管至 YCM,并使数据库失去监控。此问题源于安装时修改了 OM 的监听 IP。解决方法包括:将 OM 的 IP 修改为本机实际 IP 或 0.0.0.0,同时更新 env 文件及 yasom 后台数据库中的相关配置。经验总结指出,应避免非必要的后台 IP 修改,且数据库安装需遵循规范,不使用仅限本机访问的 IP(如 127.0.0.1)。
风险防不胜防?看 YashanDB 如何守护你的数据库安全(上篇)
数据库作为信息系统核心,其安全性至关重要。本文聚焦数据库安全机制中的访问管理,涵盖身份认证、访问控制与反入侵措施。YashanDB通过口令认证、操作系统认证及双因素认证确保用户身份安全;实施基于角色(RBAC)和标签(LBAC)的访问控制,实现权限精细化管理;同时利用黑白名单与连接监听机制防范未授权访问和恶意攻击。这些措施共同保障数据的机密性、完整性和可用性,助力企业满足国家合规要求。下期将探讨威胁检测与数据保护内容,敬请期待!
数据库国产化选型?YashanDB 给中大型企业的五个答案
近两年,“国产数据库”成为企业数字化升级的重要议题。YashanDB作为新一代国产关系型数据库,以完整产品矩阵解决企业核心关切:通过图形化工具提升开发效率;提供自动化迁移平台简化数据库切换;云管理工具减轻运维负担;支持复杂业务场景;拥有成熟团队保障企业级服务。YashanDB不仅是“可替代”,更是“更可靠”的选择,助力企业实现高效、可控的数据库升级。
风险防不胜防?看 YashanDB 如何守护你的数据库安全(下篇)
本文深入探讨数据库安全机制中的威胁监测与数据保护。在威胁监测方面,YashanDB 提供权限、行为和角色审计功能,支持异步审计降低性能影响,并通过安全漏洞扫描和硬件防护减少漏洞危害。数据保护部分涵盖通信加密(支持国密标准)、存储加密(表空间透明加密TDE)、备份加密及密钥管理等关键技术。此外,YashanDB 支持热备、增量备份和按时间点恢复,并实现安全销毁防止信息泄露,全面保障数据的机密性、完整性和可用性。
【YashanDB 知识库】ycm 托管数据库时,数据库非 OM 安装无法托管
本文主要介绍了因数据库未按规范使用 yasboot 安装导致的问题及解决方法。问题表现为无 yasom 和 yasagent 进程,且目录结构缺失,致使 ycm 无法托管与监控。分析发现可能是数据库版本旧或安装不规范引起。解决方法为先生成配置文件,安装 yasom 和 yasagent,再生成并修改托管配置模板,最终通过命令完成托管至 yasom 和 ycm。总结强调了按规范安装数据库的重要性以避免类似问题。
开发YashanDB数据库?用 DBeaver for YashanDB 更顺手
数据库开发复杂易错,尤其在企业级场景中。为提升效率,YashanDB 团队基于 DBeaver 开源工具打造专属解决方案——DBeaver for YashanDB。它支持多类型数据库对象管理(表、视图、函数等),适配 YashanDB 特有表结构(HEAP、LSC),提供智能补全、语法高亮、SQL 调试等功能,让开发更高效流畅。推荐用于数据库应用开发团队、高频调试用户及中大型企业统一工具栈场景。

热门文章

最新文章

下一篇
oss创建bucket
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等