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

利用NineData轻松实现数据库迁移,值得一试

75

利用NineData轻松实现数据库迁移,值得一试

最近看到了NineData社区版已经开源,对于官网宣传的一些功能也想试用一下,因此就顺便整理数据迁移的文档供大家参考。NineData 社区版是玖章算术推出的永久免费一键安装的数据管理解决方案,包含 NineData 的数据库 DevOps数据复制数据库对比三个核心功能。目前NineData 社区版支持离线本地化部署,无需连接任何云端服务或访问 NineData 网站,所有数据与操作 100% 留存于您的本地环境。特别适用于无法访问外网的内网环境,非常适合小规模企业、个人项目或学习测试等场景。

下面通过从PG16中迁移表结构和数据到PG17中的案例,来学习一下NineData数据库迁移功能。

新增数据源

在首次登录NineData平台后,默认的工作台的页面显示如下的页面。我们可以点击创建数据源按钮来创建数据源,当然也可以切换到数据源管理菜单来创建。

image20250317135924470.png

目前NineData 平台支持将不同类型、不同环境的数据源添加到控制台中进行统一管理。我们选择自建数据库-PostgreSQL数据

image20250317140031174.png

在下面的页面中,填写数据源的IP、端口、用户名、密码等信息,可以先进行连接测试,如果成功后就点击创建数据源按钮。

image20250317144647873.png

当数据源添加成功后,在数据源管理列表中,就可以看到刚才添加的数据信息。

image20250317145129483.png

用同样的方法我们添加目标端的数据源信息

image20250317153439458.png

通过上面的操作,我们成功的添加源端数据源pg-demo和目标端数据源pg17。

image20250317153527943.png

数据迁移

NineData 数据复制支持多种同异构数据源之间的离线、实时数据复制。适合数据迁移、数据库扩缩容、数据库版本升级、异地容灾、异地多活、数据仓库及数据湖数据集成等多种业务场景,并且不同的复制方式,包括结构复制、全量复制、增量复制。在数据复制的管理列表中点击创建复制按钮弹出下面的页面,选择填写源数据源、目标数据源、复制类型等信息后。

image20250317163800356.png

在上面信息选择后,点击下一步,然后再下面的页面中选择复制的对象,在这里我们可以整个数据库,也可以选择单独的几个表,然后点击中间的大于号的图表,系统就会把源端的信息带到目标端。另外也需要注意,目标端也需要选中复制的对象,否则在点击下一步的就会提示没有可迁移的对象。

image20250317165156882.png

在配置映射页面,可以对于迁移后的目标库的名称、目标库表名进行自定义修改,这个功能还是比较人性化的,对于一些测试环境的迁移还是相当友好。

image20250317165322317.png

在预检查页面,主要是对源数据源和目标数据源及相关权限进行检查,待检查通过后,就可以点击启动任务了。

image20250317165347581.png

下面就是数据复制启动成功的提示页面

image20250317165409891.png

数据复制的启动成功,也可以在数据复制列表中查看之前新建的数据复制的任务信息。

image20250317170915298.png

当我们在数据复制的详情界面,看到上面的任务执行成功后,可以通过NineData 提供的数据库DevOps的SQL窗口功能来核验迁移后的业务数据。

image20250317171341013.png

数据比对

当然,NineData平台也提供了 数据库对比功能支持对两个数据源之间的内容进行一致性对比,不一致的情况下还支持自动生成变更 SQL,您可以直接复制并在目标端执行,实现数据与结构的一致性。在数据库对比管理列表中,创建数据对比,然后填写源数据源和目标数据源、对比频率、对比方式等信息,然后点击下一步。

image20250317171412680.png

在选择对比对象的页面,同样可以选择整个库也可以选择单独的表进行比对。

image20250317171525155.png

在配置映射的页面,如果有需要可以修改目标表名,否则就点击保存并预检查。

image20250317171936991.png

在预检查页面,主要是对源数据源和目标数据源及相关权限进行检查,待检查通过后,就可以点击启动任务了。

image20250317171615325.png

在任务启动成功后,就可以在数据对比的管理列表中查看数据比对的详细信息

image20250317171750316.png

到这里,我们就利用NineData平台,轻松的实现了数据库的迁移。

问题

在迁移的过程中遇到,如果对于目标数据库中存在主外键的情况,会导致迁移失败。对于该功能,建议如果有可能,还是建议优化该功能,毕竟主外键的

总结

在对整个平台的迁移测试的过程中,除了刚才使用结构转换使用中有很多的问题,但是经过和技术服务人员及时的沟通,目前该功能不完善。在数据源的新增、数据复制、数据对比三大功能的测试验证过程中,还是使用相当的丝滑,也比较容易上手。NineData平台不仅支持自建数据源也支持多种云平台,而且看到 整个迁移过程的进度信息和日志信息,是一款非常nice的产品。

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

评论