作為一種 Schema Free 文檔數(shù)據(jù)庫(kù),MongoDB 因其靈活的數(shù)據(jù)模型,支撐業(yè)務(wù)快速迭代研發(fā),廣受開(kāi)發(fā)者歡迎并被廣泛使用。在企業(yè)使用 MongoDB 承載應(yīng)用的過(guò)程中,會(huì)因?yàn)闃I(yè)務(wù)上云/跨云/下云/跨機(jī)房遷移/跨地域遷移、或數(shù)據(jù)庫(kù)版本升級(jí)、數(shù)據(jù)庫(kù)整合、數(shù)據(jù)庫(kù)拆分、容災(zāi)等業(yè)務(wù)場(chǎng)景,存在 MongoDB 遷移或同步的業(yè)務(wù)訴求。
在 MongoDB 遷移的過(guò)程中,其遷移時(shí)間、遷移數(shù)據(jù)準(zhǔn)確性及遷移過(guò)程中業(yè)務(wù)的停機(jī)要求無(wú)疑是影響遷移能否成功的關(guān)鍵因素。由此,如何選擇合適的遷移工具,提供高效、安全、準(zhǔn)確的遷移能力至關(guān)重要。
01 傳統(tǒng)數(shù)據(jù)遷移方案
傳統(tǒng)的 MongoDB 遷移一般基于 mongodump 及 mongorestore 等導(dǎo)入導(dǎo)出工具進(jìn)行數(shù)據(jù)搬遷,使用這種搬遷工具一般存在如下問(wèn)題:
停機(jī)時(shí)間長(zhǎng):由于 mongodump/mongorestore 不支持增量數(shù)據(jù)的采集復(fù)制,在 MongoDB 遷移期間,要求業(yè)務(wù)停機(jī),停服時(shí)間通常高達(dá)數(shù)小時(shí)/上天,對(duì)業(yè)務(wù)的挑戰(zhàn)極大。特別當(dāng)遷移難度較高時(shí),通常反復(fù)多次遷移,業(yè)務(wù)停服時(shí)間更不可控。
可靠性不高:不提供遷移過(guò)程的觀測(cè)、診斷與修復(fù)能力,遷移過(guò)程中出現(xiàn)錯(cuò)誤一般需要重新遷移,遷移難度較高。
數(shù)據(jù)準(zhǔn)確性難保障:此類(lèi)工具因不提供對(duì)應(yīng)的質(zhì)量檢測(cè)能力,所以遷移的數(shù)據(jù)質(zhì)量一般難以保障。
大數(shù)據(jù)量遷移挑戰(zhàn):因其容災(zāi)能力不足,不能很好支撐大數(shù)據(jù)量、大表的遷移。
02 NineData 數(shù)據(jù)遷移方案
為解決用戶(hù)面臨的 MongoDB 遷移問(wèn)題,玖章算術(shù)旗下的云原生智能數(shù)據(jù)管理平臺(tái) 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)聽(tīng)采集源 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ù)遷移過(guò)程中,業(yè)務(wù)可以正常提供服務(wù),無(wú)需停服。最終,業(yè)務(wù)可根據(jù)需要選擇對(duì)應(yīng)時(shí)間點(diǎn)切換到目標(biāo) MongoDB,具體流程如下圖。
NineData數(shù)據(jù)遷移方案
除了提供業(yè)務(wù)不停服的遷移能力外,NineData 提供的 MongoDB 還具有如下能力:
?? 大數(shù)據(jù)量或大表的遷移能力
基于智能分片、動(dòng)態(tài)攢批、并發(fā)遷移、表級(jí)斷點(diǎn)續(xù)傳等多種技術(shù)能力,提供強(qiáng)勁遷移能力。
?? 數(shù)據(jù)一致性對(duì)比
NineData 提供了 MongoDB 的數(shù)據(jù)對(duì)比能力,能夠進(jìn)行高效的一致性對(duì)比,快速識(shí)別差異數(shù)據(jù),并提供對(duì)應(yīng)的訂正腳本,快速訂正修復(fù)差異內(nèi)容,有效保障遷移數(shù)據(jù)質(zhì)量。
?? 可觀測(cè)可干預(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 使用起來(lái)非常簡(jiǎn)單,只需要花 1 分鐘時(shí)間完成任務(wù)配置,即可以完全自動(dòng)化完成數(shù)據(jù)的遷移及同步過(guò)程。下面我們來(lái)看下整個(gè)任務(wù)的配置過(guò)程:
3.1 配置復(fù)制任務(wù)
NineData 配置復(fù)制任務(wù)
基于上述操作,完成復(fù)制數(shù)據(jù)源、復(fù)制對(duì)象及復(fù)制類(lèi)型的選擇后,即可快速啟動(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ù)遷移完成后,也可以配置對(duì)應(yīng)的數(shù)據(jù)對(duì)比進(jìn)行數(shù)據(jù)一致性的校驗(yàn),快速發(fā)現(xiàn)、定位并修復(fù)差異數(shù)據(jù)。下面會(huì)對(duì)剛才遷移的 mongodb 數(shù)據(jù)進(jìn)行數(shù)據(jù)一致性校驗(yàn)。
3.2 全量數(shù)據(jù)對(duì)比
NineData全量數(shù)據(jù)對(duì)比
如圖片所示,針對(duì)剛才遷移的 MongoDB 數(shù)據(jù)可以通過(guò)配置運(yùn)行數(shù)據(jù)對(duì)比任務(wù),進(jìn)行精準(zhǔn)、完整的數(shù)據(jù)對(duì)比。數(shù)據(jù)對(duì)比過(guò)程中,NineData 會(huì)對(duì)每個(gè) Document 的內(nèi)容進(jìn)行精準(zhǔn)對(duì)比,并快速發(fā)現(xiàn)差異內(nèi)容,并針對(duì)性提供訂正腳本。
至此,當(dāng)數(shù)據(jù)遷移完成、數(shù)據(jù)校驗(yàn)及業(yè)務(wù)驗(yàn)證通過(guò)后,業(yè)務(wù)可以選擇一個(gè)低峰期進(jìn)行 MongoDB 的停機(jī)切換,切換到新的數(shù)據(jù)庫(kù),至此完成整個(gè)遷移過(guò)程。
04 寫(xiě)在最后
當(dāng)然,除了 MongoDB 遷移外,NineData 支持 MongoDB 實(shí)例間的長(zhǎng)期復(fù)制,可應(yīng)用于數(shù)據(jù)容災(zāi)、讀寫(xiě)分離、測(cè)試數(shù)據(jù)構(gòu)建等業(yè)務(wù)場(chǎng)景。同時(shí),NineData 也已支持?jǐn)?shù)十種常見(jiàn)數(shù)據(jù)庫(kù)的遷移復(fù)制。NineData 提供即開(kāi)即用的 SAAS 模式,及企業(yè)專(zhuān)屬集群模式,滿(mǎn)足企業(yè)最高的數(shù)據(jù)安全合規(guī)要求。當(dāng)前,NineData 已在運(yùn)營(yíng)商、金融、制造業(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í)間長(zhǎng)、可靠性低、數(shù)據(jù)準(zhǔn)確性難保障等問(wèn)題。此外,NineData還提供大數(shù)據(jù)量遷移能力、數(shù)據(jù)一致性對(duì)比和可觀測(cè)可干預(yù)能力。配置和啟動(dòng)任務(wù)簡(jiǎn)單快速,實(shí)現(xiàn)了自動(dòng)化的遷移過(guò)程。無(wú)論是在遷移還是同步過(guò)程中,NineData都能提供穩(wěn)定的服務(wù),幫助用戶(hù)輕松完成MongoDB數(shù)據(jù)遷移。
審核編輯 黃宇
-
數(shù)據(jù)庫(kù)
+關(guān)注
關(guān)注
7文章
3846瀏覽量
64685 -
數(shù)據(jù)遷移
+關(guān)注
關(guān)注
0文章
72瀏覽量
6977 -
大數(shù)據(jù)
+關(guān)注
關(guān)注
64文章
8908瀏覽量
137786 -
mongodb
+關(guān)注
關(guān)注
0文章
22瀏覽量
379
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論