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

    文章

    3993

    浏览量

    67755
  • 数据迁移
    +关注

    关注

    0

    文章

    87

    浏览量

    7219
  • 大数据
    +关注

    关注

    64

    文章

    9031

    浏览量

    143089
  • mongodb
    +关注

    关注

    0

    文章

    24

    浏览量

    536
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ProfiNet嵌入式板卡,主流替代可实现ProfiNet工业以太网的应用实例

    ProfiNet嵌入式板卡,主流替代可实现ProfiNet工业以太网的应用实例
    的头像 发表于 12-01 17:11 929次阅读
    ProfiNet嵌入式板卡,主流替代可<b class='flag-5'>实现</b>ProfiNet工业以太网的应用<b class='flag-5'>实例</b>

    数据数据恢复—MongoDB数据库文件丢失的数据恢复案例

    MongoDB数据库文件拷贝到其他分区,数据复制完成后将MongoDB数据库原先所在的分区进行
    的头像 发表于 07-01 11:13 476次阅读
    <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>恢复案例

    应用中的“复制功能”如何实现##HarmonyOS应用开发##

    ​很多应用都有一个“点击复制”的功能,这一功能在实际操作中非常便捷,这一功能的实现主要是通过Basic Services Kit(基础服务)中的“剪贴板服务”实现的。 代码如下: async
    发表于 06-30 17:27

    单片机C语言实例(350+例)

    350+单片机C语言实例! 纯分享帖,需要者可点击附件免费获取完整资料~~~【免责声明】本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请第一时告知,删除内容!
    发表于 05-22 21:47

    UIAbility组件交互(设备内)说明

    Name等信息。 在FuncAbility业务完成之后,如需要停止当前UIAbility实例,在FuncAbility中通过调用terminateSelf()方法实现。 import common
    发表于 05-16 06:12

    数据数据恢复——MongoDB数据库文件拷贝后服务无法启动的数据恢复

    MongoDB数据数据恢复环境: 一台Windows Server操作系统虚拟机上部署MongoDB数据库。
    的头像 发表于 04-09 11:34 666次阅读
    <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>恢复

    数据数据恢复—Windows无法启动MongoDB服务的数据恢复案例

    某单位一台MongoDB数据库由于业务需求进行了数据迁移,数据库迁移后提示:“Windows无法启动MongoDB服务(位于 本地计算机 上
    的头像 发表于 02-13 12:44 642次阅读
    <b class='flag-5'>数据</b>库<b class='flag-5'>数据</b>恢复—Windows无法启动<b class='flag-5'>MongoDB</b>服务的<b class='flag-5'>数据</b>恢复案例

    hyper-v复制,Hyper-V 复制的操作步骤

        在使用Hyper-V虚拟化技术时,数据安全和业务连续性至关重要。Hyper-V复制功能就像是给虚拟机数据上了一份“保险”,能在关键时刻发挥重要作用。    什么是Hyper-V复制
    的头像 发表于 02-10 10:29 822次阅读
    hyper-v<b class='flag-5'>复制</b>,Hyper-V <b class='flag-5'>复制</b>的操作步骤

    FB08 1对7 U盘拷贝格式化机——高效数据复制工具

    FB08 1对7 U盘拷贝格式化机,采用台湾捷美原厂工艺,具备25MB/s的高速拷贝速度和8口同步复制功能,支持加密U盘免解密拷贝及USB 2.0/3.0设备。支持FAT16/FAT32格式化,兼容
    的头像 发表于 02-08 13:51 792次阅读
    FB08 1对7 U盘拷贝格式化机——高效<b class='flag-5'>数据</b><b class='flag-5'>复制</b>工具

    hyper v 复制,hyper v 复制如何操作

    工作效率。今天就为大家介绍hyperv复制如何操作。    Hyper-V提供了多种方法来实现文件复制和共享,以下是几种常见的操作方法:    方法一:通过网络共享复制文件    在主
    的头像 发表于 01-22 16:01 1579次阅读
    hyper v <b class='flag-5'>复制</b>,hyper v <b class='flag-5'>复制</b>如何操作

    SOLIDWORKS 2025——随配合复制

    在工程设计领域,SOLIDWORKS一直以其强大的CAD功能和灵活的设计环境受到广泛赞誉。随着SOLIDWORKS 2025的发布,该软件再次在装配设计方面取得了重大突破,特别是随配合复制功能的引入,大大地提升了设计效率和准确性。
    的头像 发表于 01-10 16:47 1404次阅读
    SOLIDWORKS 2025——随配合<b class='flag-5'>复制</b>

    构建数据库解决方案,基于华为云 Flexus X 实例容器化 MySQL 主从同步架构

    前言**** 华为云 Flexus X 实例,融合柔性算力与智能调度,为数据库解决方案带来全新突破。采用容器化 MySQL 主从同步架构,实现数据高效备份与读写分离,保障业务连续性与
    的头像 发表于 01-07 17:22 963次阅读
    构建<b class='flag-5'>数据</b>库解决方案,基于华为云 Flexus X <b class='flag-5'>实例</b>容器化 MySQL 主从同步架构

    NeuroBlade携手亚马逊EC2 F2实例,加速数据分析

    数据分析加速领域的领航者NeuroBlade,近日宣布与亚马逊云科技(AWS)最新推出的Amazon Elastic Compute Cloud (Amazon EC2) F2实例实现深度集成。这一
    的头像 发表于 12-31 11:37 823次阅读

    华为云 Flexus 云服务器 X 实例:在 openEuler 系统下搭建 MySQL 主从复制

    前言 本文将介绍如何在华为云 Flexus 云服务器 X 实例上,基于 openEuler 系统部署 MySQL 主从复制。MySQL 作为一款高性能且稳定的开源关系型数据库管理系统,是众多
    的头像 发表于 12-30 09:11 724次阅读
    华为云 Flexus 云服务器 X <b class='flag-5'>实例</b>:在 openEuler 系统下搭建 MySQL 主从<b class='flag-5'>复制</b>

    云服务器 Flexus X 实例:部署 AgentOps,全方位监测智能体

    通过深入体验华为云的 Flexus 云服务器 X 实例,我发现它不仅提供了直接通过公网访问的便利性,还支持高效的内容复制粘贴功能,使得操作更加流畅。此外,Flexus 云服务器 X 实例 的弹性伸缩
    的头像 发表于 12-26 18:10 771次阅读
    云服务器 Flexus X <b class='flag-5'>实例</b>:部署 AgentOps,全方位监测智能体