0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何實(shí)現(xiàn)不同MongoDB實(shí)例間的數(shù)據(jù)復(fù)制?

數(shù)據(jù)庫小組 ? 來源:數(shù)據(jù)庫小組 ? 作者:數(shù)據(jù)庫小組 ? 2023-09-13 14:44 ? 次閱讀

作為一種 Schema Free 文檔數(shù)據(jù)庫,MongoDB 因其靈活的數(shù)據(jù)模型,支撐業(yè)務(wù)快速迭代研發(fā),廣受開發(fā)者歡迎并被廣泛使用。在企業(yè)使用 MongoDB 承載應(yīng)用的過程中,會因為業(yè)務(wù)上云/跨云/下云/跨機(jī)房遷移/跨地域遷移、或數(shù)據(jù)庫版本升級、數(shù)據(jù)庫整合、數(shù)據(jù)庫拆分、容災(zāi)等業(yè)務(wù)場景,存在 MongoDB 遷移或同步的業(yè)務(wù)訴求。

在 MongoDB 遷移的過程中,其遷移時間、遷移數(shù)據(jù)準(zhǔn)確性及遷移過程中業(yè)務(wù)的停機(jī)要求無疑是影響遷移能否成功的關(guān)鍵因素。由此,如何選擇合適的遷移工具,提供高效、安全、準(zhǔn)確的遷移能力至關(guān)重要。

01 傳統(tǒng)數(shù)據(jù)遷移方案

傳統(tǒng)的 MongoDB 遷移一般基于 mongodump 及 mongorestore 等導(dǎo)入導(dǎo)出工具進(jìn)行數(shù)據(jù)搬遷,使用這種搬遷工具一般存在如下問題:

停機(jī)時間長:由于 mongodump/mongorestore 不支持增量數(shù)據(jù)的采集復(fù)制,在 MongoDB 遷移期間,要求業(yè)務(wù)停機(jī),停服時間通常高達(dá)數(shù)小時/上天,對業(yè)務(wù)的挑戰(zhàn)極大。特別當(dāng)遷移難度較高時,通常反復(fù)多次遷移,業(yè)務(wù)停服時間更不可控。

可靠性不高:不提供遷移過程的觀測、診斷與修復(fù)能力,遷移過程中出現(xiàn)錯誤一般需要重新遷移,遷移難度較高。

數(shù)據(jù)準(zhǔn)確性難保障:此類工具因不提供對應(yīng)的質(zhì)量檢測能力,所以遷移的數(shù)據(jù)質(zhì)量一般難以保障。

大數(shù)據(jù)量遷移挑戰(zhàn):因其容災(zāi)能力不足,不能很好支撐大數(shù)據(jù)量、大表的遷移。

02 NineData 數(shù)據(jù)遷移方案

為解決用戶面臨的 MongoDB 遷移問題,玖章算術(shù)旗下的云原生智能數(shù)據(jù)管理平臺 NineData 推出了 MongoDB 業(yè)務(wù)不停服數(shù)據(jù)遷移能力。NineData 實(shí)現(xiàn)了完全自動化的全量數(shù)據(jù)遷移,以及增量數(shù)據(jù)的采集復(fù)制能力。其中,增量數(shù)據(jù)遷移能力,能夠在結(jié)構(gòu)遷移及全量數(shù)據(jù)遷移期間,實(shí)時監(jiān)聽采集源 MongoDB 數(shù)據(jù)變更產(chǎn)生的 oplog,并在完成全量遷移后,將變更數(shù)據(jù)實(shí)時復(fù)制到目標(biāo) MongoDB,實(shí)現(xiàn)源/目標(biāo) MongoDB 的動態(tài)復(fù)制?;谧兏鼣?shù)據(jù)遷移能力,在 MongoDB 數(shù)據(jù)遷移過程中,業(yè)務(wù)可以正常提供服務(wù),無需停服。最終,業(yè)務(wù)可根據(jù)需要選擇對應(yīng)時間點(diǎn)切換到目標(biāo) MongoDB,具體流程如下圖。

wKgaomUBWeOABbJuAAK0GySBFBk058.png

NineData數(shù)據(jù)遷移方案

除了提供業(yè)務(wù)不停服的遷移能力外,NineData 提供的 MongoDB 還具有如下能力:

?? 大數(shù)據(jù)量或大表的遷移能力

基于智能分片、動態(tài)攢批、并發(fā)遷移、表級斷點(diǎn)續(xù)傳等多種技術(shù)能力,提供強(qiáng)勁遷移能力。

?? 數(shù)據(jù)一致性對比

NineData 提供了 MongoDB 的數(shù)據(jù)對比能力,能夠進(jìn)行高效的一致性對比,快速識別差異數(shù)據(jù),并提供對應(yīng)的訂正腳本,快速訂正修復(fù)差異內(nèi)容,有效保障遷移數(shù)據(jù)質(zhì)量。

?? 可觀測可干預(yù)能力

NineData 提供詳細(xì)的遷移狀態(tài)、進(jìn)展及詳情信息,當(dāng)出現(xiàn)遷移異常時,會提供多種診斷修復(fù)能力,幫助您保障任務(wù)穩(wěn)定性。同時,提供遷移限流能力,您可根據(jù)業(yè)務(wù)需要,自定義遷移速度,保障 MongoDB 的穩(wěn)定性。

03 一分鐘啟動全自動化遷移

雖然提供了比較強(qiáng)大的 MongoDB 遷移能力,但是 NineData 使用起來非常簡單,只需要花 1 分鐘時間完成任務(wù)配置,即可以完全自動化完成數(shù)據(jù)的遷移及同步過程。下面我們來看下整個任務(wù)的配置過程:

3.1 配置復(fù)制任務(wù)

wKgaomUBWgSAWWJ4AAWwwQsuVD4933.pngNineData 配置復(fù)制任務(wù)

基于上述操作,完成復(fù)制數(shù)據(jù)源、復(fù)制對象及復(fù)制類型的選擇后,即可快速啟動 MongoDB 的全自動化遷移。當(dāng)完成任務(wù)啟動后,NineData 會自動進(jìn)行全量數(shù)據(jù)遷移及增量數(shù)據(jù)復(fù)制。

當(dāng)數(shù)據(jù)遷移完成后,也可以配置對應(yīng)的數(shù)據(jù)對比進(jìn)行數(shù)據(jù)一致性的校驗,快速發(fā)現(xiàn)、定位并修復(fù)差異數(shù)據(jù)。下面會對剛才遷移的 mongodb 數(shù)據(jù)進(jìn)行數(shù)據(jù)一致性校驗。

3.2 全量數(shù)據(jù)對比

wKgZomUBWg-AD9kxAAWFoi0On7A554.png

NineData全量數(shù)據(jù)對比

如圖片所示,針對剛才遷移的 MongoDB 數(shù)據(jù)可以通過配置運(yùn)行數(shù)據(jù)對比任務(wù),進(jìn)行精準(zhǔn)、完整的數(shù)據(jù)對比。數(shù)據(jù)對比過程中,NineData 會對每個 Document 的內(nèi)容進(jìn)行精準(zhǔn)對比,并快速發(fā)現(xiàn)差異內(nèi)容,并針對性提供訂正腳本。

至此,當(dāng)數(shù)據(jù)遷移完成、數(shù)據(jù)校驗及業(yè)務(wù)驗證通過后,業(yè)務(wù)可以選擇一個低峰期進(jìn)行 MongoDB 的停機(jī)切換,切換到新的數(shù)據(jù)庫,至此完成整個遷移過程。

04 寫在最后

當(dāng)然,除了 MongoDB 遷移外,NineData 支持 MongoDB 實(shí)例間的長期復(fù)制,可應(yīng)用于數(shù)據(jù)容災(zāi)、讀寫分離、測試數(shù)據(jù)構(gòu)建等業(yè)務(wù)場景。同時,NineData 也已支持?jǐn)?shù)十種常見數(shù)據(jù)庫的遷移復(fù)制。NineData 提供即開即用的 SAAS 模式,及企業(yè)專屬集群模式,滿足企業(yè)最高的數(shù)據(jù)安全合規(guī)要求。當(dāng)前,NineData 已在運(yùn)營商、金融、制造業(yè)、地產(chǎn)、電商等多個行業(yè)完成大規(guī)模應(yīng)用實(shí)踐。

NineData提供了高效、安全、準(zhǔn)確的MongoDB遷移方案。與傳統(tǒng)的遷移工具相比,NineData實(shí)現(xiàn)了業(yè)務(wù)不停服的全量數(shù)據(jù)遷移和增量數(shù)據(jù)的采集復(fù)制能力,解決了停機(jī)時間長、可靠性低、數(shù)據(jù)準(zhǔn)確性難保障等問題。此外,NineData還提供大數(shù)據(jù)量遷移能力、數(shù)據(jù)一致性對比和可觀測可干預(yù)能力。配置和啟動任務(wù)簡單快速,實(shí)現(xiàn)了自動化的遷移過程。無論是在遷移還是同步過程中,NineData都能提供穩(wěn)定的服務(wù),幫助用戶輕松完成MongoDB數(shù)據(jù)遷移。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    3816

    瀏覽量

    64458
  • 數(shù)據(jù)遷移
    +關(guān)注

    關(guān)注

    0

    文章

    72

    瀏覽量

    6953
  • 大數(shù)據(jù)
    +關(guān)注

    關(guān)注

    64

    文章

    8894

    瀏覽量

    137483
  • mongodb
    +關(guān)注

    關(guān)注

    0

    文章

    22

    瀏覽量

    370
收藏 人收藏

    評論

    相關(guān)推薦

    華為云 Flexus 云服務(wù)器 X 實(shí)例:在 openEuler 系統(tǒng)下搭建 MySQL 主從復(fù)制

    前言 本文將介紹如何在華為云 Flexus 云服務(wù)器 X 實(shí)例上,基于 openEuler 系統(tǒng)部署 MySQL 主從復(fù)制。MySQL 作為一款高性能且穩(wěn)定的開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng),是眾多
    的頭像 發(fā)表于 12-30 09:11 ?145次閱讀
    華為云 Flexus 云服務(wù)器 X <b class='flag-5'>實(shí)例</b>:在 openEuler 系統(tǒng)下搭建 MySQL 主從<b class='flag-5'>復(fù)制</b>

    PW系列工控電腦復(fù)制機(jī):效率與精度雙重提升

    本文介紹了PW系列工控電腦復(fù)制機(jī)在現(xiàn)代企業(yè)數(shù)據(jù)管理中的關(guān)鍵作用。隨著大數(shù)據(jù)和跨平臺兼容性需求的增長,PW系列復(fù)制機(jī)以其高達(dá)18GB/分鐘的傳輸速度和自動化偵測技術(shù),提供了一個靈活、高效
    的頭像 發(fā)表于 11-20 16:20 ?146次閱讀
    PW系列工控電腦<b class='flag-5'>復(fù)制</b>機(jī):效率與精度雙重提升

    分布式服務(wù)高可用實(shí)現(xiàn)復(fù)制

    作者:京東保險 王奕龍 1. 為什么需要復(fù)制 我們可以考慮如下問題: 當(dāng)數(shù)據(jù)量、讀取或?qū)懭胴?fù)載已經(jīng)超過了當(dāng)前服務(wù)器的處理能力,如何實(shí)現(xiàn)負(fù)載均衡? 希望在單臺服務(wù)器出現(xiàn)故障時仍能繼續(xù)工作,這該如何
    的頭像 發(fā)表于 10-29 11:27 ?646次閱讀
    分布式服務(wù)高可用<b class='flag-5'>實(shí)現(xiàn)</b>:<b class='flag-5'>復(fù)制</b>

    配置MySQL主從復(fù)制和讀寫分離

    配置MySQL主從復(fù)制和讀寫分離
    的頭像 發(fā)表于 10-23 11:44 ?476次閱讀
    配置MySQL主從<b class='flag-5'>復(fù)制</b>和讀寫分離

    如何實(shí)現(xiàn)Python復(fù)制文件操作

    Python 中有許多“開蓋即食”的模塊(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在這篇文章中,你將會看到一些用 Python 實(shí)現(xiàn)文件復(fù)制的特殊方法。下面我們開始學(xué)習(xí)這九種不同的方法來實(shí)現(xiàn)
    的頭像 發(fā)表于 07-18 14:53 ?431次閱讀

    HarmonyOS開發(fā)案例:【Ability內(nèi)頁面的跳轉(zhuǎn)】

    基于Stage模型下的Ability開發(fā),實(shí)現(xiàn)Ability內(nèi)頁面的跳轉(zhuǎn)和數(shù)據(jù)傳遞。
    的頭像 發(fā)表于 05-09 10:39 ?574次閱讀
    HarmonyOS開發(fā)案例:【Ability內(nèi)頁面<b class='flag-5'>間</b>的跳轉(zhuǎn)】

    一文詳解MongoDB分片(Sharding)技術(shù)

    一組復(fù)制集就是一組mongod實(shí)例掌管同一個數(shù)據(jù)集,實(shí)例可以在不同的機(jī)器上面。實(shí)例中包含一個主導(dǎo),接受客戶端所有的寫入操作,其他都是副本
    的頭像 發(fā)表于 04-28 10:35 ?4678次閱讀
    一文詳解<b class='flag-5'>MongoDB</b>分片(Sharding)技術(shù)

    MongoDB數(shù)據(jù)恢復(fù)—MongoDB數(shù)據(jù)庫文件損壞的數(shù)據(jù)恢復(fù)案例

    服務(wù)器數(shù)據(jù)恢復(fù)環(huán)境: 一臺Windows Server操作系統(tǒng)服務(wù)器,服務(wù)器上部署MongoDB數(shù)據(jù)庫。 MongoDB數(shù)據(jù)庫故障&
    的頭像 發(fā)表于 04-23 14:48 ?416次閱讀
    <b class='flag-5'>MongoDB</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—<b class='flag-5'>MongoDB</b><b class='flag-5'>數(shù)據(jù)</b>庫文件損壞的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    微軟計劃在網(wǎng)頁版和Win11版Outlook增加Ctrl+C/V復(fù)制粘貼功能

    按照最新規(guī)劃,在網(wǎng)頁版Outlook及新版Windows版Outlook中,使用者有望借助Ctrl+C和Ctrl+V的鍵盤組合,實(shí)現(xiàn)不同文件夾的郵件復(fù)制粘貼,從而提升工作效率。
    的頭像 發(fā)表于 04-17 10:09 ?535次閱讀

    HarmonyOS開發(fā)實(shí)例:【分布式數(shù)據(jù)管理】

    eTS中分布式數(shù)據(jù)管理的使用,包括KVManager對象實(shí)例的創(chuàng)建和KVStore數(shù)據(jù)流轉(zhuǎn)的使用。
    的頭像 發(fā)表于 04-11 09:57 ?945次閱讀
    HarmonyOS開發(fā)<b class='flag-5'>實(shí)例</b>:【分布式<b class='flag-5'>數(shù)據(jù)</b>管理】

    鴻蒙OS開發(fā)實(shí)例:【工具類封裝-emitter組件通信】

    `MyEmitterUtil` 是一個針對 HarmonyOS 的事件驅(qū)動編程封裝類,主要用于組件的通信和數(shù)據(jù)傳遞。
    的頭像 發(fā)表于 03-27 22:13 ?693次閱讀

    MongoDB主從切換功能測試

    面向文檔的數(shù)據(jù)模型:MongoDB是一種面向文檔的數(shù)據(jù)庫,這意味著它使用文檔來存儲數(shù)據(jù),文檔是一個鍵值對集合,是非常靈活的數(shù)據(jù)模型。
    的頭像 發(fā)表于 03-14 11:25 ?786次閱讀
    <b class='flag-5'>MongoDB</b>主從切換功能測試

    數(shù)據(jù)數(shù)據(jù)恢復(fù)】Oracle數(shù)據(jù)庫ASM實(shí)例無法掛載的數(shù)據(jù)恢復(fù)案例

    oracle數(shù)據(jù)庫ASM磁盤組掉線,ASM實(shí)例不能掛載。數(shù)據(jù)庫管理員嘗試修復(fù)數(shù)據(jù)庫,但是沒有成功。
    的頭像 發(fā)表于 02-01 17:39 ?531次閱讀
    【<b class='flag-5'>數(shù)據(jù)</b>庫<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)】Oracle<b class='flag-5'>數(shù)據(jù)</b>庫ASM<b class='flag-5'>實(shí)例</b>無法掛載的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    Cache中的data在不同核獲取數(shù)據(jù)的時候如何保證拿到的數(shù)據(jù)是最新的?

    1. Cache 中的data在不同核獲取數(shù)據(jù)的時候如何保證拿到的數(shù)據(jù)是最新的? 2.如果關(guān)閉了Cache ,運(yùn)行速度就變好慢,但是core0取core1的數(shù)據(jù)又想要保持是最新的
    發(fā)表于 01-31 06:49

    軟通動力天鶴數(shù)據(jù)復(fù)制服務(wù)系統(tǒng)V1.0獲得華為技術(shù)認(rèn)證書

    近日,軟通動力自主研發(fā)的“天鶴數(shù)據(jù)復(fù)制服務(wù)系統(tǒng)V1.0”成功通過華為云GaussDB各項兼容性測試驗證,正式獲得華為云授予的HUAWEI COMPATIBLE技術(shù)認(rèn)證證書。這標(biāo)志著軟通動力數(shù)據(jù)
    的頭像 發(fā)表于 01-23 09:56 ?802次閱讀
    軟通動力天鶴<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>復(fù)制</b>服務(wù)系統(tǒng)V1.0獲得華為技術(shù)認(rèn)證書