0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何实现不同MongoDB实例间的数据复制?

数据库小组 来源:数据库小组 作者:数据库小组 2023-09-13 14:44 次阅读

作为一种 Schema Free 文档数据库,MongoDB 因其灵活的数据模型,支撑业务快速迭代研发,广受开发者欢迎并被广泛使用。在企业使用 MongoDB 承载应用的过程中,会因为业务上云/跨云/下云/跨机房迁移/跨地域迁移、或数据库版本升级、数据库整合、数据库拆分、容灾等业务场景,存在 MongoDB 迁移或同步的业务诉求。

在 MongoDB 迁移的过程中,其迁移时间、迁移数据准确性及迁移过程中业务的停机要求无疑是影响迁移能否成功的关键因素。由此,如何选择合适的迁移工具,提供高效、安全、准确的迁移能力至关重要。

01 传统数据迁移方案

传统的 MongoDB 迁移一般基于 mongodump 及 mongorestore 等导入导出工具进行数据搬迁,使用这种搬迁工具一般存在如下问题:

停机时间长:由于 mongodump/mongorestore 不支持增量数据的采集复制,在 MongoDB 迁移期间,要求业务停机,停服时间通常高达数小时/上天,对业务的挑战极大。特别当迁移难度较高时,通常反复多次迁移,业务停服时间更不可控。

可靠性不高:不提供迁移过程的观测、诊断与修复能力,迁移过程中出现错误一般需要重新迁移,迁移难度较高。

数据准确性难保障:此类工具因不提供对应的质量检测能力,所以迁移的数据质量一般难以保障。

大数据量迁移挑战:因其容灾能力不足,不能很好支撑大数据量、大表的迁移。

02 NineData 数据迁移方案

为解决用户面临的 MongoDB 迁移问题,玖章算术旗下的云原生智能数据管理平台 NineData 推出了 MongoDB 业务不停服数据迁移能力。NineData 实现了完全自动化的全量数据迁移,以及增量数据的采集复制能力。其中,增量数据迁移能力,能够在结构迁移及全量数据迁移期间,实时监听采集源 MongoDB 数据变更产生的 oplog,并在完成全量迁移后,将变更数据实时复制到目标 MongoDB,实现源/目标 MongoDB 的动态复制。基于变更数据迁移能力,在 MongoDB 数据迁移过程中,业务可以正常提供服务,无需停服。最终,业务可根据需要选择对应时间点切换到目标 MongoDB,具体流程如下图。

wKgaomUBWeOABbJuAAK0GySBFBk058.png

NineData数据迁移方案

除了提供业务不停服的迁移能力外,NineData 提供的 MongoDB 还具有如下能力:

▶︎ 大数据量或大表的迁移能力

基于智能分片、动态攒批、并发迁移、表级断点续传等多种技术能力,提供强劲迁移能力。

▶︎ 数据一致性对比

NineData 提供了 MongoDB 的数据对比能力,能够进行高效的一致性对比,快速识别差异数据,并提供对应的订正脚本,快速订正修复差异内容,有效保障迁移数据质量。

▶︎ 可观测可干预能力

NineData 提供详细的迁移状态、进展及详情信息,当出现迁移异常时,会提供多种诊断修复能力,帮助您保障任务稳定性。同时,提供迁移限流能力,您可根据业务需要,自定义迁移速度,保障 MongoDB 的稳定性。

03 一分钟启动全自动化迁移

虽然提供了比较强大的 MongoDB 迁移能力,但是 NineData 使用起来非常简单,只需要花 1 分钟时间完成任务配置,即可以完全自动化完成数据的迁移及同步过程。下面我们来看下整个任务的配置过程:

3.1 配置复制任务

wKgaomUBWgSAWWJ4AAWwwQsuVD4933.pngNineData 配置复制任务

基于上述操作,完成复制数据源、复制对象及复制类型的选择后,即可快速启动 MongoDB 的全自动化迁移。当完成任务启动后,NineData 会自动进行全量数据迁移及增量数据复制。

当数据迁移完成后,也可以配置对应的数据对比进行数据一致性的校验,快速发现、定位并修复差异数据。下面会对刚才迁移的 mongodb 数据进行数据一致性校验。

3.2 全量数据对比

wKgZomUBWg-AD9kxAAWFoi0On7A554.png

NineData全量数据对比

如图片所示,针对刚才迁移的 MongoDB 数据可以通过配置运行数据对比任务,进行精准、完整的数据对比。数据对比过程中,NineData 会对每个 Document 的内容进行精准对比,并快速发现差异内容,并针对性提供订正脚本。

至此,当数据迁移完成、数据校验及业务验证通过后,业务可以选择一个低峰期进行 MongoDB 的停机切换,切换到新的数据库,至此完成整个迁移过程。

04 写在最后

当然,除了 MongoDB 迁移外,NineData 支持 MongoDB 实例间的长期复制,可应用于数据容灾、读写分离、测试数据构建等业务场景。同时,NineData 也已支持数十种常见数据库的迁移复制。NineData 提供即开即用的 SAAS 模式,及企业专属集群模式,满足企业最高的数据安全合规要求。当前,NineData 已在运营商、金融、制造业、地产、电商等多个行业完成大规模应用实践。

NineData提供了高效、安全、准确的MongoDB迁移方案。与传统的迁移工具相比,NineData实现了业务不停服的全量数据迁移和增量数据的采集复制能力,解决了停机时间长、可靠性低、数据准确性难保障等问题。此外,NineData还提供大数据量迁移能力、数据一致性对比和可观测可干预能力。配置和启动任务简单快速,实现了自动化的迁移过程。无论是在迁移还是同步过程中,NineData都能提供稳定的服务,帮助用户轻松完成MongoDB数据迁移。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据库
    +关注

    关注

    7

    文章

    3591

    浏览量

    63373
  • 数据迁移
    +关注

    关注

    0

    文章

    65

    浏览量

    6890
  • 大数据
    +关注

    关注

    64

    文章

    8652

    浏览量

    136601
  • mongodb
    +关注

    关注

    0

    文章

    22

    浏览量

    333
收藏 人收藏

    评论

    相关推荐

    一文详解MongoDB分片(Sharding)技术

    一组复制集就是一组mongod实例掌管同一个数据集,实例可以在不同的机器上面。实例中包含一个主导,接受客户端所有的写入操作,其他都是副本
    的头像 发表于 04-28 10:35 280次阅读
    一文详解<b class='flag-5'>MongoDB</b>分片(Sharding)技术

    MongoDB数据恢复—MongoDB数据库文件损坏的数据恢复案例

    服务器数据恢复环境: 一台Windows Server操作系统服务器,服务器上部署MongoDB数据库。 MongoDB数据库故障&
    的头像 发表于 04-23 14:48 79次阅读
    <b class='flag-5'>MongoDB</b><b class='flag-5'>数据</b>恢复—<b class='flag-5'>MongoDB</b><b class='flag-5'>数据</b>库文件损坏的<b class='flag-5'>数据</b>恢复案例

    MongoDB主从切换功能测试

    面向文档的数据模型:MongoDB是一种面向文档的数据库,这意味着它使用文档来存储数据,文档是一个键值对集合,是非常灵活的数据模型。
    的头像 发表于 03-14 11:25 218次阅读
    <b class='flag-5'>MongoDB</b>主从切换功能测试

    mongodb和redis的区别

    MongoDB和Redis是两种不同的NoSQL数据库,它们在数据存储、查询和处理等方面具有一些明显的区别。 数据模型: MongoDB是一
    的头像 发表于 12-04 11:11 454次阅读

    数据数据恢复—MongoDB数据库服务无法启动并报错数据恢复案例

    一台Windows Server操作系统的虚拟机,虚拟机上部署有MongoDB数据库。
    的头像 发表于 11-22 14:48 282次阅读
    <b class='flag-5'>数据</b>库<b class='flag-5'>数据</b>恢复—<b class='flag-5'>MongoDB</b><b class='flag-5'>数据</b>库服务无法启动并报错<b class='flag-5'>数据</b>恢复案例

    mysql主从复制 混合类型的复制

    MySQL主从复制是一种常用的数据复制技术,可以实现数据从一个MySQL服务器(主服务器)复制
    的头像 发表于 11-16 14:20 277次阅读

    mysql如何实现主从复制的具体流程

    主从复制是MySQL数据库中常用的数据复制技术之一,它的主要目的是将一个数据库服务器上的数据
    的头像 发表于 11-16 14:10 281次阅读

    数据数据恢复——MongoDB数据库介绍和数据恢复案例

    MongoDB数据库是文档数据存储库,将文档存储在集合之中,不是像MySQL一样的关系型数据库。
    的头像 发表于 11-08 15:04 472次阅读
    <b class='flag-5'>数据</b>库<b class='flag-5'>数据</b>恢复——<b class='flag-5'>MongoDB</b><b class='flag-5'>数据</b>库介绍和<b class='flag-5'>数据</b>恢复案例

    NineData:高效可靠的MongoDB迁移及同步方案

    数据的采集复制能力。其中,增量数据迁移能力,能够在结构迁移及全量数据迁移期间,实时监听采集源MongoDB
    的头像 发表于 09-05 11:32 408次阅读
    NineData:高效可靠的<b class='flag-5'>MongoDB</b>迁移及同步方案

    为什么用mongodb而不用MySQL

    为什么用mongodb而不用MySQL Mongodb是一个NoSQL数据库,而MySQL是一个关系型数据库,它们之所以区别,主要在于适用的场景和
    的头像 发表于 08-28 16:40 1360次阅读

    实现一个健康促进在数据复制功能

    电子发烧友网站提供《实现一个健康促进在数据复制功能.pdf》资料免费下载
    发表于 08-28 09:39 0次下载
    <b class='flag-5'>实现</b>一个健康促进在<b class='flag-5'>数据</b><b class='flag-5'>复制</b>功能

    针对Ampere Altra处理器的MongoDB优化指南

    MongoDB 是一个流行的面向文档的,跨平台开源 NoSQL 数据库。其灵活的数据模型能支持存储具有完整索引支持和复制的非结构化数据。根据
    的头像 发表于 07-20 10:10 307次阅读

    PetaExpress云数据MongoDB(mongodb数据库)优势

    MongoDB数据模型是针对文档的。所谓文档是一种类似JSON的结构。可以简单理解,MongoDB存储在数据库中的各种JSON,在MongoDB
    的头像 发表于 07-14 10:06 335次阅读

    MongoDB 实例 Crash 的故障现象问题

      1故障现象 近日,朋友遇到一个 MongoDB 实例 Crash 的问题,找到我帮忙一起分析原因,事情经过以及分析过程如下,可供学习。 操作过程 运维人员在优化慢查询时针对性创建了一个索引,语句
    的头像 发表于 06-29 11:24 232次阅读
    <b class='flag-5'>MongoDB</b> <b class='flag-5'>实例</b> Crash 的故障现象问题

    MongoDB索引操作导致Crash的问题及其解决办法

    近日,朋友遇到一个 MongoDB 实例 Crash 的问题,找到我帮忙一起分析原因,事情经过以及分析过程如下,可供学习。
    的头像 发表于 06-20 09:51 411次阅读
    <b class='flag-5'>MongoDB</b>索引操作导致Crash的问题及其解决办法