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

    文章

    3759

    浏览量

    64265
  • 数据迁移
    +关注

    关注

    0

    文章

    68

    浏览量

    6937
  • 大数据
    +关注

    关注

    64

    文章

    8862

    浏览量

    137278
  • mongodb
    +关注

    关注

    0

    文章

    22

    浏览量

    362
收藏 人收藏

    评论

    相关推荐

    PW系列工控电脑复制机:效率与精度双重提升

    本文介绍了PW系列工控电脑复制机在现代企业数据管理中的关键作用。随着大数据和跨平台兼容性需求的增长,PW系列复制机以其高达18GB/分钟的传输速度和自动化侦测技术,提供了一个灵活、高效
    的头像 发表于 11-20 16:20 64次阅读
    PW系列工控电脑<b class='flag-5'>复制</b>机:效率与精度双重提升

    分布式服务高可用实现复制

    作者:京东保险 王奕龙 1. 为什么需要复制 我们可以考虑如下问题: 当数据量、读取或写入负载已经超过了当前服务器的处理能力,如何实现负载均衡? 希望在单台服务器出现故障时仍能继续工作,这该如何
    的头像 发表于 10-29 11:27 555次阅读
    分布式服务高可用<b class='flag-5'>实现</b>:<b class='flag-5'>复制</b>

    配置MySQL主从复制和读写分离

    配置MySQL主从复制和读写分离
    的头像 发表于 10-23 11:44 317次阅读
    配置MySQL主从<b class='flag-5'>复制</b>和读写分离

    如何实现Python复制文件操作

    Python 中有许多“开盖即食”的模块(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在这篇文章中,你将会看到一些用 Python 实现文件复制的特殊方法。下面我们开始学习这九种不同的方法来实现
    的头像 发表于 07-18 14:53 362次阅读

    HarmonyOS开发案例:【Ability内页面的跳转】

    基于Stage模型下的Ability开发,实现Ability内页面的跳转和数据传递。
    的头像 发表于 05-09 10:39 530次阅读
    HarmonyOS开发案例:【Ability内页面<b class='flag-5'>间</b>的跳转】

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

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

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

    服务器数据恢复环境: 一台Windows Server操作系统服务器,服务器上部署MongoDB数据库。 MongoDB数据库故障&
    的头像 发表于 04-23 14:48 378次阅读
    <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>恢复案例

    微软计划在网页版和Win11版Outlook增加Ctrl+C/V复制粘贴功能

    按照最新规划,在网页版Outlook及新版Windows版Outlook中,使用者有望借助Ctrl+C和Ctrl+V的键盘组合,实现不同文件夹的邮件复制粘贴,从而提升工作效率。
    的头像 发表于 04-17 10:09 450次阅读

    HarmonyOS开发实例:【分布式数据管理】

    eTS中分布式数据管理的使用,包括KVManager对象实例的创建和KVStore数据流转的使用。
    的头像 发表于 04-11 09:57 890次阅读
    HarmonyOS开发<b class='flag-5'>实例</b>:【分布式<b class='flag-5'>数据</b>管理】

    鸿蒙OS开发实例:【工具类封装-emitter组件通信】

    `MyEmitterUtil` 是一个针对 HarmonyOS 的事件驱动编程封装类,主要用于组件的通信和数据传递。
    的头像 发表于 03-27 22:13 625次阅读

    MongoDB主从切换功能测试

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

    数据数据恢复】Oracle数据库ASM实例无法挂载的数据恢复案例

    oracle数据库ASM磁盘组掉线,ASM实例不能挂载。数据库管理员尝试修复数据库,但是没有成功。
    的头像 发表于 02-01 17:39 466次阅读
    【<b class='flag-5'>数据</b>库<b class='flag-5'>数据</b>恢复】Oracle<b class='flag-5'>数据</b>库ASM<b class='flag-5'>实例</b>无法挂载的<b class='flag-5'>数据</b>恢复案例

    ad复制元件怎么保持编号不变

    复制AD(AutoCAD)元件时,如果要保持编号不变,可以按照以下步骤进行操作: 创建一个元件库:首先,你需要创建一个元件库,将你要复制的原始元件添加到库中。你可以使用AD软件的“设计中心”或“内容
    的头像 发表于 12-27 17:07 6789次阅读

    如何通过单臂路由实现VLAN通信?

    如何通过单臂路由实现VLAN通信? 通过单臂路由实现VLAN通信是一种常见且有效的网络连接方式。在这种配置下,一台路由器的接口连接到多个VLAN,使用虚拟局域网(VLAN)标签来区
    的头像 发表于 12-07 09:40 1241次阅读

    mongodb和redis的区别

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