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

    文章

    3948

    浏览量

    66792
  • 数据迁移
    +关注

    关注

    0

    文章

    86

    浏览量

    7130
  • 大数据
    +关注

    关注

    64

    文章

    8966

    浏览量

    140817
  • mongodb
    +关注

    关注

    0

    文章

    24

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

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

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

    MongoDB数据数据恢复环境: 一台Windows Server操作系统虚拟机上部署MongoDB数据库。
    的头像 发表于 04-09 11:34 ?371次阅读
    <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 ?363次阅读
    <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 ?540次阅读
    hyper-v<b class='flag-5'>复制</b>,Hyper-V <b class='flag-5'>复制</b>的操作步骤

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

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

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

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

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

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

    基于ADS131m04和STM32F103搭建了一个简单的采样电路,如何获得比较高的通道采样一致性?

    数据可以比较正常的输出,但是两通道对同一电压(比如对地)采样时,通道的差别在0.5mV左右: 上图中,IO1和IO2采集电压,绘制了曲线,右边数据列表中I4时IO1和iO2的压差。 请大家
    发表于 11-21 07:08

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

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

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

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

    FPGA在数据处理中的应用实例

    FPGA(现场可编程门阵列)在数据处理领域有着广泛的应用,其高度的灵活性和并行处理能力使其成为许多高性能数据处理系统的核心组件。以下是一些FPGA在数据处理中的应用实例: 一、通信协议
    的头像 发表于 10-25 09:21 ?1492次阅读

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

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