• MySQL大数据量高速迁移,500GB只需1个小时


    在上篇「快、准、稳的实现亿级别MySQL大表迁移」的文章中,介绍了NineData在单张大表场景下的迁移性能和优势。但在大部分场景中,可能遇到的是多张表构成的大数据量场景下的数据搬迁问题。因为搬迁数据量较大,迁移的时长、稳定性及准确性都受到极大的挑战,常见的迁移工具通常不能很好得支持。为此,NineData针对这种场景专门进行针对性的优化,以提供高效、准确、稳定的大数据量迁移能力。

    1、传统的迁移方案

    目前,数据迁移主要分为逻辑迁移和物理迁移,逻辑迁移主要有mysqldump、mydumper ,物理迁移主要有XtraBackup。对于这类导入导出和拷贝文件的传统迁移方案,在迁移中会存在一些问题:

    • 要求业务停机,在迁移过程中,通过需要停止服务,保持静态迁移数据,由于迁移数据量大,需要的迁移时间较长,这也意味着业务停机时间较长。
    • 迁移时间久,对于mysqldump的逻辑迁移,单线程导出表,迁移时间长。
    • 可靠性差,导出异常后,不支持断点能力,在迁移过程中,如果遇到数据库、软件或硬件任何问题导致的任务中断,都需要从头迁移,迁移难度高。
    • 保障能力弱,迁移期间,不能提供完善的观测跟干预能力;同时,比较缺乏结构及数据对比能力,缺乏质量保障体系,可能影响迁移成功性。

    2、高性能的迁移方案

    NineData 提供的数据复制同时包含了数据迁移和数据同步的能力,在不影响业务的前提下,提供了高效、稳定、可运维的大数据量迁移能力。经实测,在源及目标实例同城情况下,500GB数据的迁移,只需1个小时,平均迁移速度142MB/s。

    通过对 MySQL 大数据量迁移的性能测试,和传统迁移比,NineData 数据迁移的优势有:

    1. 简单易用:一分钟即可完成任务配置,并全自动化完成任务迁移。
    2. 强劲性能:完善的智能分片、表级行级并发、动态攒批等核心技术,有效保证迁移性能。
    3. 高可靠:结合新型断点、异常诊断及丰富的修复手段,对于迁移过程中可能出现软硬件故障,提供完善的容灾能力,大大提高了大数据量迁移的成功率。
    4. 数据质量保障:NineData 还提供了对比功能,包含数据和结构的对比,以及全量、快速(抽样)和不一致复检的对比方式,并且也支持不同的对比频率。在迁移或复制结束后,通过数据和结构对比,能有效的保障数据的一致性。

    NineData 在提供强大迁移能力的同时,也保证了使用的简单性,只需要1分钟就能完成迁移任务的配置,实现完全自动化的数据迁移过程。下面我们来看下整个任务的配置过程:

    2.1 配置迁移链路

    1. 配置任务名称,选择要迁移的源和目标实例。
    2. 选择复制类型,数据迁移选择结构和全量复制(数据迁移)。
    3. 根据需要,选择合适的冲突处理策略。

    2.2 选择迁移对象

    选择迁移对象:针对不同粒度选择迁移对象,也可以选择部分迁移对象。

    2.3 配置映射对象

    配置映射和过滤规则:可自定义迁移的库名、表名和按照不同的过滤条件进行多表的部分数据迁移,也可以针对表的列名进行映射和部分列迁移。 

    2.4 预检查&启动

    通过丰富的检查项,保证了迁移任务的稳定性;通过开启数据对比,保证了迁移后数据的一致性。到此,我们就完成了一个高性能迁移任务的配置。

    同时,为了提供更好的迁移体验,NineData针对迁移过程提供了完善的观测、干预能力。其不但提供对象迁移的详细状态、进展、详情,还通过监控和日志透露后台线程的内部执行情况,帮助用户全方位追踪迁移进展。同时,还针对运行过程中可能出现的异常情况,提供基础诊断能力,及修复、跳过、移除等多种修复策略和迁移限流能力,让用户能够自主快速得诊断并修复链路,保障迁移稳定性。

    3、总结

    NineData 提供的高效、快速、稳定的MySQL大数据量迁移能力,很好的补充了传统迁移方案的不足。当前,NineData 已经支持数十种常见数据库的迁移复制,同时,除了SAAS模式外,还提供了企业专属集群模式,满足企业最高的数据安全合规要求。目前,NineData已在运营商、金融、制造业、地产、电商等多个行业完成大规模应用实践。如果您感兴趣的话,可以登录https://www.ninedata.cloud/dbmigration,立即开始使用。

  • 相关阅读:
    DIY官网可视化工具打造UNIAPP-uviewUI可视化
    MySQL的指令大全和注意事项(强烈推荐收藏)
    C/C++总结笔记——指针2:二级指针、指针数组&数组指针、函数指针&函数指针数组、二维指针数组&数组指针
    如何使用postman调用若依系统接口(报错401,认证失败,无法访问系统资源)
    低代码平台的优势与不足之处
    成熟企业级开源监控解决方案Zabbix6.2关键功能实战-上
    D. a-Good String(递归+二分)
    Android 12.0 Launcher3单层app列表页排序功能实现
    Selenium的使用
    Handler同步屏障学习
  • 原文地址:https://blog.csdn.net/NineData/article/details/132686095