暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

「YashanDB迁移体验官」数据迁移工具YMP评测

原创 大数据模型 2024-05-15
402

前文

崖山迁移平台(Yashan Migration Platform,YMP)是YashanDB提供的数据库迁移产品,支持异构RDBMS与YashanDB之间进行迁移评估、离线迁移、数据校验的能力。 YMP提供可视化服务,用户只需通过简单的界面操作,即可完成从评估到迁移整个流程的执行与监控,实现低门槛、低成本、高效率的异构数据库迁移实施。

YMP解决了什么问题

YMP全称是yashan-migrate-platform,它是YashanDB实现去O, 替换旧信息系统架构的 强大神器。如果把数据库比喻成一个容器,数据是水,Oracle、MySQL、PostgreSQL因为内部数据结构不同,对水的处理存储不同。我们把水从一个容器切换到另外一个容器,没有工具的前提下,我们是怎么做的?

传统的数据迁移通过人工操作去做,第一步把源数据库的 里面DDL相关的数据库对象都导出来,识别表、触发器、索引、约束等数据结构,这些东西在目标数据库应该改造成什么? 确定数据源的相关的数据库对象在目标库都可以成功改造,那么第二步就是把源数据库的数据导入到 目标数据库里面

现代化的数据迁移解决方案以自动化代替繁重的人工脚本操作,以WEB系统为入口,可以自由定义数据源,自由定义数据目标,内嵌知识库识别不同的数据源的数据结构变化,根据目标数据库对源数据库有规则进行转换。说起来做起来复杂,oracle11G、oracle12c的技术架构各有不同,同理mysql5.7和mysql8虽然都是mysql,但是内模式侧重各有各不同。

优秀的数据库产品能够连接不同DBMS的数据结构,包括表结构、存储过程、约束、视图等等,并且能够把它成功转化到对应的目标DBMS上面。YMP就是这样一套现代化数据迁移工具!

安装使用

简单安装

YMP的安装依赖 yashandb介质OCI介质

YashanDB介质和YMP介质从这里下载, YashanDB Personal 23.2.1及YMP 23.2.1安装包 https://download.yashandb.com/download OCI介质从这里下载 https://www.oracle.com/cn/database/technologies/instant-client/linux-x86-64-downloads.html #笔者在这里只简最重要的一步, YMP执行安装ymp.sh命令,代入YashanDB介质的以及 OCI介质的目录,如下 sh bin/ymp.sh install --db ../yashandb-personal-23.2.1.100-linux-x86_64.tar.gz --path ../oci目录/ #启动ymp服务 [root@server128 bin]# ./ymp.sh start start yasom successfully start local agent successfully! type | uuid | name | hostid | index | status | return_code | progress | cost -------------------------------------------------------------------------------------------------------- task | 1026412a24dc11a0 | StartYasdbCluster | - | ymp | SUCCESS | 0 | 100 | 11 ------+------------------+-------------------+--------+-------+---------+-------------+----------+------ task completed, status: SUCCESS YMP started successfully! #访问方式:http://IP:PORT/,PORT默认8090,初始账户名和密码是(admin/admin) http://xxxxx:8090

快捷使用

数据迁移工具的操作使用三步走来介绍, 第一步定义数据源【源端】,第二步定义数据源【目标端】,第三步执行迁移。如果用两步走来表示,第一步定义数据源【源端、目标端】,第二就是执行迁移

YMP的定义数据源就是数据源管理,执行迁移就是创建任务。简单明了,对新手友好。

image.png

测试目标及过程

  • 准备Oracle12C单机环境,已经就位
  • 准备Oracle19c单机环境,已经就位
  • 准备一个yashandb 23.2.1单机环境,已经就位

现在以Oracle为数据源,测试环境两套数据,一套在12C上面,一套在19C上面,要把c##henley和c##henley2的数据迁移到 目标yashandb 23.2.1单机的henley上面。

image.png

出师不利,oracle12c最后执行报错OCI版本检查:OCI版本(19.22.0.0.0)与预期版本(19.19.0.0.0)不一致, 数据迁移时可能有风险。,经检测YMP可能无法与Oracle12 兼容。只余下oracle19c能够正常数据导入。

三个数据源 oracle19c c##henleyoracle19c c##henleyyashanDB henley

image.png

image.png

image.png

image.png

定义三个数据源后,操作任务,按照下面的步骤下一步下一步执行, 创建任务-----> 迁移评估-----> 迁移配置-----> 离线迁移 -----> 校验初始化-----> 一致性校验,最后就把oracle19c的数据迁移到yashandb上面去了。

迁移评估后会列出图形报告,必须 要100%满足【对象兼容统计、PL/sql代码统计】才能进行下一步

image.png

image.png

点击 对象详情,点击最后一页,可以看到 不兼容的对象名称

image.png

点击查看DDL,可以看到进一步的详情

image.png

针对不兼容的数据对象,可以选择忽略,然后刷新报告,直到100%兼容 ,这样数据迁移工作可以往下一步进行

image.png

image.png

亮点与期望

亮点

  • YMP简单易用,无论是安装还是使用,安装仅用了3个步骤,操作使用一眼就懂,即使是小白例如我,通过 下一步或者全选, 也可以把它用起来

  • 数据迁移传输高性能,由于使用的是oracle的OCI的原生接口,所以对数据访问能够很快,500G的数据在60秒内传输完成。

  • 迁移评估功能界面较点睛,一眼宏观Oracle的对象状况,快速浏览左边对象兼容统计PL/SQL代码统计作为 数据源中关键的数据结构让DBA知道还需要什么。

  • 评估后,针对不能兼容的对象类型和SQL语句的建议改进,可以对不能迁移的对象采取忽略的方式,继续进行数据迁移

  • 自由选择迁移的数据对象,可以做细粒度针对性的小目标小范围 迁移,例如对表、约束、索引、视图、序列、自定义函数按需选择

  • 支持日志和图形报告形式 ,立体化显示迁移数据任务的状态。

  • 前中后的监测手段较能符合DBA的预期和需求,迁移前支持迁移评估【类型、长度、SQL改写、表重设】,迁移中可以观测数据迁移状态【包括数据对象空间、表、索引、约束】以及完成状态、性能读写状态,迁移后可以对数据进行校验【完整对比、校验对比】。

期望

  • Oracle12C报错,OCI版本检查:OCI版本(19.22.0.0.0)与预期版本(19.19.0.0.0)不一致, 数据迁移时可能有风险。,切换成Oracle19c不会发生这样的错误,初步判断 YashanDB不支持Oracle12c,假设是这样的话不应该,毕竟客户的生产环境大部分是老版本利旧的,YashanDB应该与 更多的Oracle版本适配兼容。
  • 迁移评估的时间响应,假设数据源的对象很多,扫描的时间会很慢,我觉得这方面需要提升一下。
  • Oracle OCI需要根据数据源的版本去到互联网官方里面查找, 这个体验不好
  • 跨任务使用同一个数据源,迁移任务在进行中的话, 再开第二个迁移任务,第二个迁移涉及的数据源正在使用中,会导致无法实现第二个迁移任务的创建。
  • 数据迁移过程, 笔者试了一下,数据源依然可以插入数据,会存在两边数据一致性的问题,未来的技术路径可以考虑基于源端数据迁移时,提前加个轻量级的锁,保障两边数据的一致性
  • 目前仅支持离线迁移的方式 ,不支持CDC的实时数据跟踪 ,CDC实时数据跟踪未来是数据亮点
  • 异构数据库迁移是迁移工具的基本功能,将应用集成进来联调测试是高阶功能, 理想的迁移工具测试后,可以观测到旧应用对数据库的兼容程度

总结,综合体验来看,YMP基于YashanDB基础上不错的数据迁移产品,可以给DBA节省大量的时间,同时也能提升效率,希望以后持续增强。

最后修改时间:2024-05-21 11:40:38
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论