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

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

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

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

數(shù)據(jù)庫小組 ? 來源:數(shù)據(jù)庫小組 ? 作者:數(shù)據(jù)庫小組 ? 2023-09-05 11:32 ? 次閱讀

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

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

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

數(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)了完全自動(dòng)化的全量數(shù)據(jù)遷移,以及增量數(shù)據(jù)的采集復(fù)制能力。其中,增量數(shù)據(jù)遷移能力,能夠在結(jié)構(gòu)遷移及全量數(shù)據(jù)遷移期間,實(shí)時(shí)監(jiān)聽采集源 MongoDB 數(shù)據(jù)變更產(chǎn)生的 oplog,并在完成全量遷移后,將變更數(shù)據(jù)實(shí)時(shí)復(fù)制到目標(biāo) MongoDB,實(shí)現(xiàn)源/目標(biāo) MongoDB 的動(dòng)態(tài)復(fù)制?;谧兏鼣?shù)據(jù)遷移能力,在 MongoDB 數(shù)據(jù)遷移過程中,業(yè)務(wù)可以正常提供服務(wù),無需停服。最終,業(yè)務(wù)可根據(jù)需要選擇對應(yīng)時(shí)間點(diǎn)切換到目標(biāo) MongoDB,具體流程如下圖。

wKgZomT2oUWAU-rCAAIcBnSk6yM138.png

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

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

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

基于智能分片、動(dòng)態(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)遷移異常時(shí),會(huì)提供多種診斷修復(fù)能力,幫助您保障任務(wù)穩(wěn)定性。同時(shí),提供遷移限流能力,您可根據(jù)業(yè)務(wù)需要,自定義遷移速度,保障 MongoDB 的穩(wěn)定性。

03 一分鐘啟動(dòng)全自動(dòng)化遷移

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

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

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

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

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

wKgaomT2oUeANFAEAAld1rheWhE704.png

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

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

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

04 寫在最后

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

審核編輯 黃宇

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

    關(guān)注

    7

    文章

    3711

    瀏覽量

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

    關(guān)注

    0

    文章

    66

    瀏覽量

    6929
  • mongodb
    +關(guān)注

    關(guān)注

    0

    文章

    22

    瀏覽量

    352
收藏 人收藏

    評論

    相關(guān)推薦

    使用NineData快速完成MySQL數(shù)據(jù)的差異對比!

    、可視化界面、一鍵差異修復(fù)、免費(fèi)使用、安全可靠。使用 NineData,您可以快速配置對比任務(wù)、查看對比結(jié)果、修復(fù)不一致內(nèi)容、驗(yàn)證修復(fù)結(jié)果,并查看任務(wù)日志和監(jiān)控指標(biāo)。讓數(shù)據(jù)庫對比變得更簡單、高效、安全。
    的頭像 發(fā)表于 08-08 15:07 ?841次閱讀
    使用<b class='flag-5'>NineData</b>快速完成MySQL數(shù)據(jù)的差異對比!

    MongoDB 4.0 RC 版本強(qiáng)勢登陸

    讀到一致時(shí)間點(diǎn)的數(shù)據(jù)。這個(gè)特性將極大的提升 MongoDB 讀擴(kuò)展的能力。遷移速度提升40%(40% Faster Data Migrations)應(yīng)用在不斷演進(jìn)過程中,其負(fù)載特性也在不斷發(fā)生變化
    發(fā)表于 06-11 19:42

    關(guān)系型數(shù)據(jù)庫到MongoDB的戰(zhàn)略遷移實(shí)例分析

    CSDN:請先和大家介紹下自己和您目前所從事的工作,以及關(guān)注哪些技術(shù)領(lǐng)域? 唐建法:我目前在MongoDB官方擔(dān)任的是負(fù)責(zé)MongoDB相關(guān)解決方案架構(gòu)師。關(guān)注的領(lǐng)域是新一代數(shù)據(jù)處理的相關(guān)技術(shù)以及
    發(fā)表于 09-30 14:24 ?0次下載
    關(guān)系型數(shù)據(jù)庫到<b class='flag-5'>MongoDB</b>的戰(zhàn)略<b class='flag-5'>遷移</b>實(shí)例分析

    數(shù)據(jù)遷移的難點(diǎn)及其解決方案淺析

    、網(wǎng)絡(luò),以及存儲等六種層級功能的數(shù)據(jù)遷移方案,從不同的維度,不同的層面,保障我們客戶的數(shù)據(jù)遷移過程可靠高效。 華為融合數(shù)據(jù)
    發(fā)表于 10-13 17:05 ?14次下載
    數(shù)據(jù)<b class='flag-5'>遷移</b>的難點(diǎn)及其解決<b class='flag-5'>方案</b>淺析

    JSON數(shù)據(jù)從MongoDB遷移到MaxCompute最佳實(shí)踐

    選擇?有公網(wǎng)IP。?訪問地址及端口號可通過在MongoDB管理控制臺點(diǎn)擊實(shí)例名稱獲取,如下圖所示。?新建數(shù)據(jù)同步任務(wù)在DataWorks上新建數(shù)據(jù)同步類型節(jié)點(diǎn)。?新建的同時(shí),在DataWorks新建一
    發(fā)表于 11-30 16:53 ?185次閱讀

    Redis數(shù)據(jù)同步解決方案NineData

    NineData(https://www.ninedata.cloud/)在Redis的同步上,提供了穩(wěn)定和高效的解決方案,并且性能上也領(lǐng)先
    的頭像 發(fā)表于 06-05 15:31 ?745次閱讀
    Redis數(shù)據(jù)<b class='flag-5'>同步</b>解決<b class='flag-5'>方案</b>—<b class='flag-5'>NineData</b>

    PetaExpress云數(shù)據(jù)庫 MongoDB(mongodb數(shù)據(jù)庫)優(yōu)勢

    MongoDB(mongodb數(shù)據(jù)庫)優(yōu)勢: 輕松部署文檔數(shù)據(jù)庫MongoDB 控制臺可以創(chuàng)建數(shù)據(jù)庫,文檔數(shù)據(jù)庫MongoDB 例子可以在幾分鐘內(nèi)創(chuàng)建并投入使用。 高
    的頭像 發(fā)表于 07-14 10:06 ?462次閱讀

    MySQL數(shù)據(jù)同步SelectDB的技術(shù)解讀,一款好用的遷移同步、校驗(yàn)工具推薦

    NineData 采用先進(jìn)的數(shù)據(jù)同步技術(shù),確保數(shù)據(jù)實(shí)時(shí)同步到 SelectDB,極大地降低了數(shù)據(jù)延遲,讓您的決策基于最新數(shù)據(jù)。提供直觀的圖形化界面,讓您輕松配置同步任務(wù),無需編寫繁雜的
    的頭像 發(fā)表于 08-30 15:55 ?1448次閱讀
    MySQL數(shù)據(jù)<b class='flag-5'>同步</b>SelectDB的技術(shù)解讀,一款好用的<b class='flag-5'>遷移</b>、<b class='flag-5'>同步</b>、校驗(yàn)工具推薦

    NineData:1小時(shí)遷移500GB的MySQL數(shù)據(jù)

    NineData 提供的數(shù)據(jù)復(fù)制同時(shí)包含了數(shù)據(jù)遷移和數(shù)據(jù)同步的能力,在不影響業(yè)務(wù)的前提下,提供了高效、穩(wěn)定、可運(yùn)維的大數(shù)據(jù)量遷移能力。經(jīng)實(shí)測
    的頭像 發(fā)表于 09-05 11:34 ?506次閱讀
    <b class='flag-5'>NineData</b>:1小時(shí)<b class='flag-5'>遷移</b>500GB的MySQL數(shù)據(jù)

    Redis 大數(shù)據(jù)量高速遷移,2000W key不到2分鐘!

    NineData 基于全量復(fù)制、增量日志復(fù)制技術(shù),提供了高效、安全可靠的 Redis 不停機(jī)遷移方案。當(dāng)然,除了 Redis,
    的頭像 發(fā)表于 09-12 15:40 ?690次閱讀
    Redis 大數(shù)據(jù)量高速<b class='flag-5'>遷移</b>,2000W key不到2分鐘!

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

    NineData提供了高效、安全、準(zhǔn)確的MongoDB遷移方案。與傳統(tǒng)的遷移工具相比,
    的頭像 發(fā)表于 09-13 14:44 ?724次閱讀
    如何實(shí)現(xiàn)不同<b class='flag-5'>MongoDB</b>實(shí)例間的數(shù)據(jù)復(fù)制?

    MongoDB差異數(shù)據(jù)對比快速完成

    NineData提供高效、安全、準(zhǔn)確的MongoDB數(shù)據(jù)對比解決方案。它支持多種使用場景下的對比功能,包括一次性對比、周期性對比、全量數(shù)據(jù)對比和快速對比。
    的頭像 發(fā)表于 09-14 14:11 ?340次閱讀
    <b class='flag-5'>MongoDB</b>差異數(shù)據(jù)對比快速完成

    使用NineData快速、高效完成Redis差異數(shù)據(jù)對比!

    NineData在Redis數(shù)據(jù)遷移場景下表現(xiàn)出色,可快速準(zhǔn)確完成Redis數(shù)據(jù)對比,找出不一致的key并生成詳細(xì)報(bào)告。數(shù)據(jù)對比方案需考慮數(shù)據(jù)一致性和數(shù)據(jù)量規(guī)模,而NineData基于
    的頭像 發(fā)表于 10-07 11:57 ?379次閱讀
    使用<b class='flag-5'>NineData</b>快速、<b class='flag-5'>高效</b>完成Redis差異數(shù)據(jù)對比!

    一分鐘,自動(dòng)完成Redis數(shù)據(jù)遷移

    NineData提供了高效、安全的Redis不停機(jī)數(shù)據(jù)遷移方案。與傳統(tǒng)遷移方案相比,
    的頭像 發(fā)表于 01-08 11:34 ?346次閱讀
    一分鐘,自動(dòng)完成Redis數(shù)據(jù)<b class='flag-5'>遷移</b>