云时代,好用的数据迁移方案推荐

这篇具有很好参考价值的文章主要介绍了云时代,好用的数据迁移方案推荐。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

数据库作为企业核心的数据存储引擎,在其提供服务的过程中,经常会因为各种各样的原因需要进行数据的迁移。数据库迁移作为一个古老的话题并不神秘,但因为迁移数据的重要性,以及业务对数据库可用性的高要求,导致数据库迁移的复杂度极高,一般都需要专业工具的协助才能完成。当前 ,市面上也已经提供了各种各样的数据库迁移工具。本文将介绍数据库迁移的步骤以及市面上常见的迁移工具。

一、 为什么要做数据库迁移

数据库在提供服务的过程中,经常需要进行数据迁移,常见的场景包括:

  • 数据库上云迁移,业务上云,要求数据库上云,此时涉及数据库的迁移;

  • 数据库跨云迁移,业务需要跨云迁移时,要求数据库跨云迁移;

  • 数据库版本升级,例如数据库内核发布新版本,需要从旧版本迁移到新版本;

  • 数据库扩容或缩容,例如数据库所在服务器资源不足,需要跨机器迁移数据库以实现数据库扩容;

  • 异构数据库迁移,数据库中的部分业务需要迁移到另外一种更适合的引擎时,涉及的数据库迁移工作。例如从单机数据库迁移到分布式数据库;从关系型数据库迁移到 NoSQL,或,从关系型数据库/ NoSQL 把数据迁移到数据仓库、大数据或数据湖中进行数据分析。

二、 数据库迁移的步骤

不同于应用搬迁,数据库在数据迁移过程中,业务仍然持续写入数据,数据一直处于动态变化的状态,整个迁移过程相对比较复杂。根据是否能支持数据迁移过程中,数据库为业务持续提供读写服务,将迁移方案分为:停机迁移、零停机迁移。为了满足业务服务的高可用及迁移数据的完整性,推荐大家选择能够支持“零停机迁移”的工具产品。

  • 停机迁移,即迁移之前需要停止数据库的写能力,即数据库上层业务不能有写请求,业务停服。然后,在数据库完全静态的情况下,进行数据库迁移。

  • 零停机迁移,即在数据库迁移的过程中,业务仍然继续提供服务,业务不受影响。

在数据库迁移过程,零停机迁移的迁移步骤包括如下几步。而停机迁移,只支持存量历史数据的搬迁。

  • 存量历史数据的搬迁,存量历史数据搬迁主要进行结构定义及数据的迁移。例如对于关系型数据库(例 MySQL、SQLServer 等),结构迁移会进行表结构、视图、存储过程、函数等的定义迁移。

  • 增量更新数据,由于存量历史数据搬迁一般会持续数小时甚至上天,在这期间为了实现数据库可服务,数据库会继续接受业务写入请求。对于这部分新增的数据,也需要迁移到目标数据库,以保证迁移数据的完整性。当然市面上很多工具不提供这个能力,其要求业务完全停止服务 ,保持数据库的完全静态后,再进行数据迁移。

  • 迁移数据对比,在完成数据迁移后,一般都需要校验迁移数据的一致性,避免因为软硬件或人为误操作等原因,出现迁移数据不一致导致业务受影响。

云数据迁移方案,数据复制,数据库,迁移学习,云计算,大数据,mysql,Powered by 金山文档

数据库迁移的步骤

三、 常见的数据库迁移方法

当前市面上主流的数据库迁移工具,主要分为如下几种方案:

云数据迁移方案,数据复制,数据库,迁移学习,云计算,大数据,mysql,Powered by 金山文档

备注:上述评测仅根据当前各个产品的情况得出的结论

1. NineData

官网地址:https://www.ninedata.cloud/

NineData 是玖章算术旗下的多云数据管理平台,它支持数十种常见数据源(例:MySQL、SQLServer、Clickhouse、Kafka等)之间的同异构数据迁移。NineData提供了数据的单向及双向复制。其提供的单向数据复制功能,包括了结构复制、全量数据复制及增量复制能力,基于这几个复制步骤,可以在业务零停机的情况下,完成数据库的无缝迁移。

NineData 作为一个即开即用的SAAS服务,围绕数据迁移功能,也提供了一系列完善的配套服务,包括告警监控、权限管控、迁移限流及数据一致性对比等。其中,数据对比功能非常有特色,其支持所有对象的结构对比及数据对比,同时,为降低对比对数据库的压力影响,还提供了快速对比、对比限流等能力,在对比完成后,其还会提供详细的不一致数据及订正语句。

除了完善的功能外,NineData 的迁移性能也很优秀,用sysbench模型测试了下,它的全量迁移速度高达130MB/s,增量复制速度能达到10万+TPS。

NineData 比较有特色的是:可完全自动化得实现数据库的零停机迁移;提供高效、易用完善的数据一致性对比工具;对云数据库、云主机及IDC自建数据库的支持同样完善。

云数据迁移方案,数据复制,数据库,迁移学习,云计算,大数据,mysql,Powered by 金山文档

NineData 数据库迁移

云数据迁移方案,数据复制,数据库,迁移学习,云计算,大数据,mysql,Powered by 金山文档

NineData选择迁移的数据源及迁移步骤

图一:配置任务的第一步骤,选择迁移的数据源及迁移的步骤

云数据迁移方案,数据复制,数据库,迁移学习,云计算,大数据,mysql,Powered by 金山文档

NineData选择复制对象

图二、配置任务的第二步骤,选择复制对象

云数据迁移方案,数据复制,数据库,迁移学习,云计算,大数据,mysql,Powered by 金山文档

NineData配置映射关系及数据过滤条件

图三:配置任务的第三步骤,配置映射关系及数据过滤条件

云数据迁移方案,数据复制,数据库,迁移学习,云计算,大数据,mysql,Powered by 金山文档

NineData迁移前的前置检查

图四:配置任务的第四步骤,迁移前的前置检查

云数据迁移方案,数据复制,数据库,迁移学习,云计算,大数据,mysql,Powered by 金山文档

NineData任务详情及运维界面

图五:任务详情及运维界面

云数据迁移方案,数据复制,数据库,迁移学习,云计算,大数据,mysql,Powered by 金山文档

NineData复制任务的数据对比详情

图六:复制任务的数据对比详情

云数据迁移方案,数据复制,数据库,迁移学习,云计算,大数据,mysql,Powered by 金山文档

NineData复制任务的对比结果

图七:复制任务的对比结果,不一致数据的详情

2. 备份集恢复

一般各个数据库引擎都会提供备份恢复工具,例如MySQL的xtrabackup。借助备份集恢复功能实现数据库迁移的步骤一般如下图所示。整个恢复过程纯依赖手动调度、手工执行。这种恢复方案因依赖数据库本身工具,迁移的完整度很高。但是实现复杂度也比较高,比较容易出错。且恢复工具不提供辅助的诊断运维能力,使用门槛比较高,不是很推荐。

备份恢复迁移方案的特征为:纯手工操作复杂度高且容易出错,迁移的完整性较高,但只适合同网络环境下的同构同版本数据库之间的数据迁移。

云数据迁移方案,数据复制,数据库,迁移学习,云计算,大数据,mysql,Powered by 金山文档

备份集恢复

3. 数据导出+数据导入

一般各个数据库引擎都会提供导入导出的工具,例如MySQL的mydumper+myloader。

同时,各大数据库开发工具也会提供数据导出+导入的功能,例如navicat。这种工具只能支持历史存量数据的迁移,不支持增量数据迁移。所以,为了保障迁移数据的完整性,要求业务停机后,再进行数据迁移。

基于数据导出导入的迁移方案的问题是:要求业务停机迁移,业务影响大;只适合小规模数据量情况下的数据迁移。

4. 云厂商数据库迁移工具

云厂商数据库迁移工具,其中以阿里云数据传输DTS为代表。云厂商一般都会提供数据库迁移工具,以支撑数据库上云迁移。云厂商的数据库迁移工具一般也支持结构复制、全量数据复制及增量数据服务,可以实现业务零停机情况下的数据库迁移。同时,云厂商一般也会提供内置的数据校验工具,但一般只支持数据的校验,不提供结构校验能力。云厂商迁移工具一般由数据库团队负责,所以其对云数据库的迁移支持较好,但是对于云主机上自建数据库以及IDC自建数据库支持不好甚至不支持。例如,大部分云厂商迁移工具都不支持自建数据库作为迁移工具的目标数据源。

云厂商迁移工具的特征是:可完全自动化得实现数据库的零停机迁移;对云数据库的支持较完善,基本不支持云主机及IDC自建数据库。

四、 小结

总的来说,数据库作为核心业务支撑,其在数据库搬迁过程中的可用性及搬迁数据的完整性至关重要。为了满足服务高可用及迁移数据的完整性,推荐大家选择能够支持“业务零停机迁移”的工具产品。同时,平台工具(例NineData) 的自动化体验及配套设施(例:数据校验工具、迁移限流、监控告警等)一般较为完善,是比较推荐的选择。文章来源地址https://www.toymoban.com/news/detail-719588.html

到了这里,关于云时代,好用的数据迁移方案推荐的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 公司数据迁移,服务器小文件多复制慢解决方案

    企业普遍面临一个挑战:如何高效地处理和移动大量的小型文件。这些文件虽然单个体积不大,但数量庞大,累积起来会占据极大的存储空间,而且在迁移过程中,复制这些文件的速度往往非常缓慢。这不仅影响了企业的运营效率,还可能导致项目延期和成本上升。那么,这

    2024年02月22日
    浏览(45)
  • 【数据库迁移系列】从MySQL到openGauss的数据库对象迁移实践

    在之前这一篇中我们分享过使用chameleon工具完成MySQL到openGauss的全量数据复制、实时在线复制。9.30新发布的openGauss 3.1.0版本 ,工具的全量迁移和增量迁移的性能不但有了全面提升,而且支持数据库对象视图、触发器、自定义函数、存储过程的迁移。 本篇就来分享一下使用c

    2024年02月02日
    浏览(68)
  • 数据库迁移之mysql到达梦数据库

    由于业务需求要求数据库国产化,因此将数据从mysql数据库中迁移到国产达梦数据库中。将mysql中的每个库迁移到达梦不同模式下,下面为详细过程。 (1)安装达梦客户端工具 (2)点击选择DM管理工具 (3)创建模式和用户 在用户菜单中,新建一个TEST模式以及相应的用户。

    2024年02月08日
    浏览(64)
  • mysql数据库迁移

    公司有个项目,刚开始数据量不是大的时候,数据库和服务上的所有应用数据都放在一个旧小盘中,随着项目数据的增长,旧的磁盘被占满了,导致系统无法写入数据,我和同事排查了很长时间,最终确定是磁盘被占满导致的一系列连锁问题。问题找到了,接下来就是想办法

    2024年02月14日
    浏览(51)
  • mysql数据库数据如何迁移目录

    默认位置 C:ProgramDataMySQLMySQL Server 8.0 步骤2中Data文件夹就是mysql存放数据的位置 这里举例移动到E盘下 原来my.ini文件不要修改文件位置,如果修改需要另行学习

    2024年02月07日
    浏览(80)
  • Django迁移数据到指定数据库

    在Django中,你可以配置多个数据库,并且可以为不同的操作指定使用不同的数据库。这意味着你确实可以同时将数据保存到SQLite和MySQL数据库中,但这需要你在代码中明确指定每次数据库操作应使用哪个数据库。 首先,你需要在Django设置文件 settings.py 中定义两个数据库连接,

    2024年02月01日
    浏览(43)
  • Django dumpdata 迁移数据库数据

    本文介绍两种常用的 Django 服务迁移数据方法。 这两种方法都需要在新的服务器部署好数据库,创建好相应的数据库表和用户以后再进行。 针对数据量不是很大的项目,可以使用此方法,操作起来比较简单。 通过连接旧的数据库运行dumpdata导出命令导出数据。 连接上新的数

    2024年02月17日
    浏览(49)
  • RDS-sql server使用DTS进行数据库迁移,同阿里云账号RDS数据库迁移

    目录 RDS-sql server使用DTS进行数据库迁移,同阿里云RDS数据库迁移 背景: 环境调研: 问题: 1:OA程序文件如何迁移? 2:RDS-sql server数据库文件如何迁移? 迁移思路: 失败思路总结: 迁移过程: 1:OA程序文件迁移 2:数据库文件迁移 2.1 使用OSS桶恢复

    2024年02月09日
    浏览(74)
  • 数据库数据迁移到达梦数据库(DM8)详细步骤,mysql迁移难题解决(数据库连接失败,Communications link failure,TaskDispatcher Error,索引重名)。

    首先达梦数据库和MySQL是两种不同的关系型数据库管理系统,它们有以下几点区别: 开发公司不同:达梦数据库是由中国达梦公司开发的,而MySQL是由瑞典MySQL AB公司开发的。 数据库类型不同:达梦数据库是商业数据库,而MySQL是开源数据库。 数据库功能不同:达梦数据库在

    2024年01月16日
    浏览(61)
  • 如何迁移MySQL数据库?

    迁移MySQL数据库可以采取多种方法,以下是其中几种常用的方法: 备份和还原:将原有的MySQL数据库备份到一个文件中,然后将备份文件还原到新的MySQL服务器中。具体来说,可以使用mysqldump命令进行备份,使用mysql命令进行还原。例如,备份一个名为mydb的数据库可以使用以下

    2024年02月09日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包