作為一種 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,具體流程如下圖。
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ù)
NineData 配置復(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ù)對比
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í)踐。
NineData提供了高效、安全、準(zhǔn)確的MongoDB遷移方案。與傳統(tǒng)的遷移工具相比,NineData實(shí)現(xiàn)了業(yè)務(wù)不停服的全量數(shù)據(jù)遷移和增量數(shù)據(jù)的采集復(fù)制能力,解決了停機(jī)時(shí)間長、可靠性低、數(shù)據(jù)準(zhǔn)確性難保障等問題。此外,NineData還提供大數(shù)據(jù)量遷移能力、數(shù)據(jù)一致性對比和可觀測可干預(yù)能力。配置和啟動(dòng)任務(wù)簡單快速,實(shí)現(xiàn)了自動(dòng)化的遷移過程。無論是在遷移還是同步過程中,NineData都能提供穩(wěn)定的服務(wù),幫助用戶輕松完成MongoDB數(shù)據(jù)遷移。
審核編輯 黃宇
-
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3765瀏覽量
64276 -
數(shù)據(jù)遷移
+關(guān)注
關(guān)注
0文章
69瀏覽量
6939 -
大數(shù)據(jù)
+關(guān)注
關(guān)注
64文章
8863瀏覽量
137300 -
mongodb
+關(guān)注
關(guān)注
0文章
22瀏覽量
362
發(fā)布評論請先 登錄
相關(guān)推薦
評論