夏秀峰,曾喆(1.沈陽航空航天大學(xué)遼寧省通用航空重點(diǎn)實(shí)驗(yàn)室,沈陽 110136; .沈陽航空航天大學(xué)計(jì)算機(jī)學(xué)院,沈陽 110136)
PDM數(shù)據(jù)向MongoDB遷移的設(shè)計(jì)實(shí)現(xiàn)
夏秀峰1,2,曾喆2
(1.沈陽航空航天大學(xué)遼寧省通用航空重點(diǎn)實(shí)驗(yàn)室,沈陽110136; 2.沈陽航空航天大學(xué)計(jì)算機(jī)學(xué)院,沈陽110136)
目前,制造業(yè)中針對PDM的數(shù)據(jù)存儲主要基于傳統(tǒng)的關(guān)系數(shù)據(jù)庫[1-2]。由于關(guān)系數(shù)據(jù)庫的數(shù)據(jù)存儲結(jié)構(gòu)是以二維表的形式存在,當(dāng)涉及到PDM數(shù)據(jù)中諸如文獻(xiàn)[1]提到的產(chǎn)品結(jié)構(gòu)樹,裝配關(guān)系與批架次關(guān)系等一些列復(fù)雜的網(wǎng)狀結(jié)構(gòu)數(shù)據(jù)時,往往呈現(xiàn)多對多的關(guān)系,零件E、F組成部件B,部件B又被其他的部件、產(chǎn)品所使用,如下圖所示(其中箭頭指向?yàn)楦讣赶蜃蛹@種情況下,必須進(jìn)行相應(yīng)的數(shù)據(jù)存儲關(guān)系轉(zhuǎn)化(例如由網(wǎng)狀結(jié)構(gòu)到單父-單子存儲模式的轉(zhuǎn)換),表1所示,來適應(yīng)二維表的存儲模式。這種以二維表形式存儲復(fù)雜網(wǎng)狀結(jié)構(gòu)數(shù)據(jù)的方式嚴(yán)重制約了PDM數(shù)據(jù)的存儲及查詢效率。
表1 單子—單父表法
圖1 PDM中零部件復(fù)雜的網(wǎng)狀關(guān)系
并且,由于當(dāng)今MBD[3-4]技術(shù)在制造業(yè)的推廣,基于關(guān)系數(shù)據(jù)庫存儲的PDM數(shù)據(jù)在高擴(kuò)展性、高并發(fā)訪問和高可用性等方面將會面臨新的挑戰(zhàn)。文獻(xiàn)[5]指出,MBD技術(shù)通過將三維尺寸標(biāo)注信息、各種制造信息和產(chǎn)品結(jié)構(gòu)信息一起附著在三維實(shí)體模型上的方式,完整地表達(dá)了產(chǎn)品的各種有效信息。文獻(xiàn)[3]指出,在這樣的設(shè)計(jì)模式下,企業(yè)將具有詳細(xì)標(biāo)注的三維模型作為數(shù)據(jù)唯一來源,并圍繞其進(jìn)行需求、分析、設(shè)計(jì)、實(shí)施等一系列操作,在這些環(huán)節(jié)當(dāng)中必然會產(chǎn)生大量的數(shù)據(jù),再加上隨著時間推移、產(chǎn)品型號增加等因素的影響,使得這些數(shù)據(jù)逐步呈現(xiàn)大數(shù)據(jù)的態(tài)勢。
新近出現(xiàn)的非關(guān)系數(shù)據(jù)庫NoSQL[6-8]相對于傳統(tǒng)的關(guān)系數(shù)據(jù)庫在處理PDM復(fù)雜網(wǎng)狀結(jié)構(gòu)數(shù)據(jù)以及大數(shù)據(jù)等方面表現(xiàn)出優(yōu)越的性能,其中具有代表性的非關(guān)系數(shù)據(jù)庫MongoDB是目前較好的面向文檔的免費(fèi)開源NoSQL數(shù)據(jù)庫。它以簡潔熟悉的類JSON形式,即BSON[9]形式來展現(xiàn)數(shù)據(jù)庫的存儲形式,且不必遵循關(guān)系數(shù)據(jù)庫ACID(原子性、一致性、隔離性、持久性)特性。MongoDB使用鍵值存儲作為最基本的存儲形式,依靠嵌套、引用來組織關(guān)聯(lián)關(guān)系,允許數(shù)據(jù)重復(fù)存儲而不太多關(guān)注存儲代價。所以,當(dāng)MongoDB來處理PDM中產(chǎn)品結(jié)構(gòu)樹復(fù)雜的網(wǎng)狀數(shù)據(jù)結(jié)構(gòu)時,可以通過重復(fù)存儲各個零部件的方式更加形象高效地存儲產(chǎn)品結(jié)構(gòu)樹,不用去過多考慮關(guān)系數(shù)據(jù)庫需要考慮的數(shù)據(jù)關(guān)系模式轉(zhuǎn)換,數(shù)據(jù)冗余等問題。MongoDB在應(yīng)對大數(shù)據(jù)態(tài)勢時也具有強(qiáng)大優(yōu)勢,它可以依靠廉價的集群克服服務(wù)器硬件瓶頸問題,依靠分片[10-11]方式達(dá)到負(fù)載均衡,有效解決了高并發(fā)讀寫,海量訪問等難題。
針對上述PDM數(shù)據(jù)存儲在關(guān)系數(shù)據(jù)庫中遇到的一系列問題以及非關(guān)系數(shù)據(jù)庫在存儲PDM數(shù)據(jù)方面所具有的優(yōu)良特性,本文主要研究將存儲在關(guān)系數(shù)據(jù)庫中的PDM數(shù)據(jù)遷移到MongoDB非關(guān)系數(shù)據(jù)庫中。
1.1關(guān)系數(shù)據(jù)庫之間數(shù)據(jù)遷移
關(guān)系數(shù)據(jù)庫之間的數(shù)據(jù)遷移技術(shù)如今已經(jīng)相當(dāng)成熟,正如文獻(xiàn)[12]指出的,現(xiàn)行的遷移工具不僅有In鄄formix的InforMover、Microsoft SQL Server 7的DTS和Oracle的Oracle Warehouse Builder等這類數(shù)據(jù)庫廠商專門提供的為自己產(chǎn)品服務(wù)的數(shù)據(jù)遷移工具,還有一些是面向大多數(shù)數(shù)據(jù)庫開發(fā)的遷移工具,這類產(chǎn)品一般都有較完善的體系結(jié)構(gòu),其功能相對比較全面,但是由于其并不是針對某一種數(shù)據(jù)庫,所以其功能相對全面的同時也伴隨著高復(fù)雜性,典型的產(chǎn)品有Ascential DataStage和Informatica。
1.2關(guān)系數(shù)據(jù)庫到MongoDB數(shù)據(jù)庫遷移技術(shù)
(1)MongoDB自帶工具的遷移實(shí)現(xiàn)
MongoDB在初始設(shè)計(jì)時已經(jīng)考慮到數(shù)據(jù)的遷移問題,其自帶的導(dǎo)入工具mongoimport可以實(shí)現(xiàn)將JSON以及CSV格式的數(shù)據(jù)導(dǎo)入到MongoDB數(shù)據(jù)庫中[12]。文獻(xiàn)[13]實(shí)現(xiàn)的將Excel數(shù)據(jù)遷移到MongoDB中就是充分利用了MongoDB自帶的導(dǎo)入工具,由關(guān)系數(shù)據(jù)庫向MongoDB遷入時,只需從關(guān)系數(shù)據(jù)庫中導(dǎo)出大多數(shù)主流數(shù)據(jù)庫都支持的CSV格式的數(shù)據(jù),然后導(dǎo)入到MongoDB中,最后分別設(shè)定好各個表轉(zhuǎn)換成的集合之間的關(guān)系即可。但是使用MongoDB自帶的工具進(jìn)行數(shù)據(jù)遷移時,只是機(jī)械的將關(guān)系數(shù)據(jù)庫中的表數(shù)據(jù)直接“復(fù)制”到MongoDB數(shù)據(jù)庫中,并且需要人工的指明各個表(集合)之間的關(guān)系,并不能體現(xiàn)出MongoDB結(jié)構(gòu)自由,不局限于ACID模式等一系列優(yōu)勢。
(2)現(xiàn)有的其他人士的遷移工具的實(shí)現(xiàn)
文獻(xiàn)[13]重點(diǎn)研究了關(guān)系數(shù)據(jù)庫中表遷移到Mon鄄goDB時表與表之間的關(guān)系:嵌套還是引用,其方法不僅需要人工判定,并且該研究定位在以表為研究的基本對象,進(jìn)而處理各對象之間的相應(yīng)關(guān)系。雖然該方法相對于MongoDB自帶的工具有了較大改進(jìn)(并不是簡單的依靠原有的外鍵進(jìn)行簡單的引用,融合了嵌套引用具有MongoDB特色的元素),但是仍然沒有從Mon鄄goDB更小的結(jié)構(gòu)單位(文檔、數(shù)組)來處理問題,使得MongoDB的優(yōu)勢不能充分體現(xiàn),在應(yīng)用到PDM數(shù)據(jù)時依然存在與關(guān)系數(shù)據(jù)庫類似的問題。
2.1主要設(shè)計(jì)思想
將PDM數(shù)據(jù)從關(guān)系數(shù)據(jù)庫遷移到非關(guān)系數(shù)據(jù)庫MongoDB的設(shè)計(jì)思想主要是根據(jù)PDM數(shù)據(jù)的特征,由于制造業(yè)中普遍存在一個零部件可能是其他多個零部件的組成部分這樣的情況,PDM數(shù)據(jù)存儲到關(guān)系數(shù)據(jù)庫中,為了遵循ACID特性,每個零部件只能存儲一個,當(dāng)其他零部件涉及到該零部件時,需要建立大量的關(guān)聯(lián)關(guān)系,從而導(dǎo)致對產(chǎn)品的查詢效率大大降低。本文設(shè)計(jì)的遷移工具主要是從降低聯(lián)接查詢,提高查詢效率出發(fā),利用MongoDB靈活的文檔嵌套結(jié)構(gòu),將零部件數(shù)據(jù)直接嵌入到相應(yīng)零部件當(dāng)中。這樣在犧牲存儲空間的情況下,避免了大量的聯(lián)接查詢,極大地提高了查詢效率。
2.2獨(dú)立表的遷移
(1)變換情景
當(dāng)關(guān)系數(shù)據(jù)庫中表獨(dú)立存在,不與其他表存在外鍵關(guān)聯(lián)時,可將表直接進(jìn)行遷移變換。如表2所示,該表與其他表沒有存在外鍵關(guān)聯(lián)關(guān)系,只需進(jìn)行直接遷移變換,并且為了下面多表的遷移做好準(zhǔn)備,需要將關(guān)系數(shù)據(jù)庫中所有表先進(jìn)行表到文檔的轉(zhuǎn)換。
表2 Unit
(2)變換策略
基本的表變換方法是將原來表的名字作為Mon鄄goDB中集合的名字,表中的每一個元組轉(zhuǎn)換成Mon鄄goDB集合中的各個文檔,每個文檔中的鍵-值對分別對應(yīng)關(guān)系表中的字段名-屬性值。在MongoDB中每一項(xiàng)文檔生成的時候,系統(tǒng)都會自動給其生成一個唯一“_id”鍵,作為該文檔在集合中的唯一標(biāo)識,其值為Ob鄄jectId()對象。我們也可以自己插入“_id”,但是其值在每個集合內(nèi)部必須唯一。
(3)性能分析
由于關(guān)系數(shù)據(jù)庫中獨(dú)立表到MongoDB集合的遷移只是簡單的存儲形式的變化,因此其在數(shù)據(jù)庫存儲空間,查詢效率等方面與MongoDB自帶的工具差別不大。
2.3連接表的多表遷移
(1)變換場景
表3是以單父-單子模式存儲的設(shè)計(jì)BOM詳細(xì)信息表,即產(chǎn)品結(jié)構(gòu)樹,主鍵為復(fù)合主鍵Materialid+Par鄄entid,其中Materialid為外鍵,關(guān)聯(lián)著表4(BOM基本信息表)。
表4是零部件基本信息表,主鍵為Materialid,存儲了所有零部件的基本信息。
表3 bomdetail(設(shè)計(jì)BOM詳細(xì)信息表)
在關(guān)系數(shù)據(jù)庫中我們查看產(chǎn)品結(jié)構(gòu)樹中產(chǎn)品或者零部件的基本信息時,必須進(jìn)行一次關(guān)聯(lián)表的查詢才能獲取信息,為了避免關(guān)聯(lián)表查詢,在MongoDB中將由表4轉(zhuǎn)換的集合以文檔為基本單位嵌入表3轉(zhuǎn)換的集合中。
(2)變換方法
將表3,表4進(jìn)行獨(dú)立表形式的變換,將表4變換的集合名稱作為表3鍵-值對中的鍵,表4中與表3以關(guān)系表中外鍵相關(guān)聯(lián)的文檔作為值,進(jìn)而將表4分解存儲到表3的文檔中,這種變換模式體現(xiàn)了MongoDB中支持內(nèi)嵌文檔作為值的特性。如果關(guān)系數(shù)據(jù)庫中對表4的查詢只是通過表3來完成,則可以將表4轉(zhuǎn)換的集合刪除,但是當(dāng)該表還需要其他方面的查詢,則保留該表轉(zhuǎn)換的集合。例如表4中產(chǎn)品NW034/5-0是不需要表3查詢的,所有表4轉(zhuǎn)換的集合必須保留。下面是變換后的bomdetail集合。
(3)性能分析
通過將bomheader(BOM基本信息表)進(jìn)行以關(guān)系數(shù)據(jù)庫中的外鍵為紐帶的分解,使得bomdetails轉(zhuǎn)換成的集合能減少一步聯(lián)接查詢過程),但是對于bomhead鄄er轉(zhuǎn)換成的集合不能刪除,這必然導(dǎo)致存儲代價的提高,但是能夠使查詢效率得到很到提升,并且實(shí)際生產(chǎn)中主要是對產(chǎn)品結(jié)構(gòu)樹進(jìn)行頻繁的查詢而不是修改。
2.4涉及到中間表的多表遷移
(1)適用情景說明
①適用情景
對于關(guān)系數(shù)據(jù)庫中多對多關(guān)系的處理,通常使用中間表的模式。以PDM圖文檔中的user表、sjwj表、sjwj_user表三表的遷移為例,表5(user表)跟表6(siwj表)相互獨(dú)立,但是都與表7(sjwj_user表)關(guān)聯(lián),即為傳統(tǒng)關(guān)系數(shù)據(jù)庫中的多對多表關(guān)系。為了減少聯(lián)接查詢次數(shù),可以通過將表5的轉(zhuǎn)換文檔依據(jù)表7的轉(zhuǎn)換文檔嵌入到表6的文檔中,最后根據(jù)情況對表5、表7進(jìn)行取舍。
表5是設(shè)計(jì)人員表,主鍵為User_num(設(shè)計(jì)人員編號),存儲了設(shè)計(jì)人員的個人信息。
表5 user(設(shè)計(jì)人員表)
表6是設(shè)計(jì)文件表,主鍵為Pronduct_id(產(chǎn)品編號),該表存儲了產(chǎn)品的所有信息。
表6 sjwj(設(shè)計(jì)文件表)
表7是為了存儲設(shè)計(jì)人員與設(shè)計(jì)文件的對應(yīng)關(guān)系而專門設(shè)計(jì)的中間表,這里沒有特別設(shè)定主鍵,以設(shè)計(jì)人員編號和產(chǎn)品編號作為聯(lián)合主鍵。
②遷移策略
多對多關(guān)系的遷移轉(zhuǎn)換建立在前面兩步基礎(chǔ)之上,將表5、表6、表7首先進(jìn)行獨(dú)立變換形成各自的三個集合,user集合、sjwj集合、user_sjwj集合。將集合user名字作為sjwj集合中的鍵,將user集合中通過us鄄er_sjwj集合建立聯(lián)系的user文檔作為值,由于是多對多的關(guān)系,每個sjwj集合中涉及到的user集合中的文檔數(shù)量常常多于一個,即每個設(shè)計(jì)文件通常有多個設(shè)計(jì)者。在處理上述情況時,可以使用MongoDB中的數(shù)組類型,將文檔作為數(shù)組元素,來實(shí)現(xiàn)多個文檔的嵌入。由于可能要進(jìn)行對所有用戶的查詢,并不是只通過sjwj集合對user進(jìn)行查詢,所有user集合保留,但是user_sjwj集合要刪除。實(shí)現(xiàn)遷移后的sjwj集合如下面文檔所示。
表7 user_sjwj(設(shè)計(jì)人員、文件關(guān)聯(lián)表)
③效果評價
將user集合進(jìn)行分解并將其文檔嵌入到sjwj集合當(dāng)中,sjwj集合在進(jìn)行user查詢時可以減少關(guān)系數(shù)據(jù)庫中兩次聯(lián)接查詢,大大提高了查詢效率。盡管嵌入式文檔存儲的方式因?yàn)槿哂啻鎯υ黾恿丝臻g存儲代價,提高了寫入更改的難度,但是實(shí)際生產(chǎn)中主要進(jìn)行查詢操作,并且MongoDB之類的非關(guān)系數(shù)據(jù)庫在空間存儲方面有先天優(yōu)勢,所以這樣的遷移轉(zhuǎn)換很符合實(shí)際需要。
為了對比分析傳統(tǒng)關(guān)系數(shù)據(jù)庫,MongoDB自帶工具以及本文提出的遷移工具三者的性能,以最復(fù)雜的多對多關(guān)系模式的設(shè)計(jì)人員與設(shè)計(jì)文件為例,分別從存儲以及查詢兩方面進(jìn)行對比,本文設(shè)定了500名設(shè)計(jì)人員,設(shè)計(jì)文件分別為5000,1萬,5萬,10萬,50萬
3.1空間存儲比較分析
如圖2所示。
3.2查詢效率比較分析
在關(guān)系數(shù)據(jù)庫中,以查詢sjwj中的設(shè)計(jì)者user為例進(jìn)行具有中間表sjwj_user的對主軸的設(shè)計(jì)者進(jìn)行查詢,查詢語句如下。
本實(shí)驗(yàn)的查詢語句如下。
說明:以上實(shí)驗(yàn)都是在沒有建立索引情況下進(jìn)行的實(shí)驗(yàn)對比。
圖2 數(shù)據(jù)不同存儲形式的空間存儲量
3.3實(shí)驗(yàn)總結(jié)分析
通過圖2可以看出當(dāng)數(shù)據(jù)規(guī)模較小時三者差別不大,但是當(dāng)數(shù)據(jù)規(guī)模逐漸增大時,本實(shí)驗(yàn)工具的空間存儲代價遠(yuǎn)遠(yuǎn)高于另外兩者,從圖3可以看出當(dāng)數(shù)據(jù)規(guī)模較小時,三者查詢效率差別不大,但是隨著數(shù)據(jù)規(guī)模的不斷增大,本實(shí)驗(yàn)的查詢效率明顯高于其他兩者。說明通過嵌入式的重復(fù)存儲數(shù)據(jù),盡管付出了巨大的存儲代價,但是卻大大減少了聯(lián)接查詢,提高了查詢效率,這種消耗存儲代價換取查詢效率的方式對于非關(guān)系數(shù)據(jù)是容易接受的。
關(guān)系數(shù)據(jù)庫存儲的PDM數(shù)據(jù)遷移到MongoDB等非關(guān)系數(shù)據(jù)庫中,有效地解決了PDM大數(shù)據(jù)特征下關(guān)系數(shù)據(jù)庫的不足之處,并且對比MongoDB自帶的遷移工具,本文設(shè)計(jì)的遷移工具從更小的單位——文檔的角度進(jìn)行了存儲的有效改進(jìn),在犧牲了一定的存儲代價的情況下,大大提高了查詢效率。在后期工作中,可以與MongoDB索引相結(jié)合,對查詢效率進(jìn)行進(jìn)一步優(yōu)化。
圖3 不同工具的查詢效率
[1]茍凌怡,魏生民.基于關(guān)系型數(shù)據(jù)庫的產(chǎn)品動態(tài)BOM的數(shù)據(jù)庫設(shè)計(jì)與優(yōu)化[J].組合機(jī)床與自動化加工技術(shù),1999,5:6-9.
[2]茍凌怡,魏生民.在Oracle中產(chǎn)品結(jié)構(gòu)樹的生成與查詢優(yōu)化[J].計(jì)算機(jī)工程與應(yīng)用,1999,7:63-76.
[3]夏秀峰,趙小磊,孔慶云.MBE與大數(shù)據(jù)給PDM帶來的思考[J].制造業(yè)自動化,2013,35(10):70-72.
[4]姜紅明,張豐華.MBD技術(shù)實(shí)施研究[J].制造業(yè)自動化,2012,34(12):1-12.
[5]馮潼能.MBD技術(shù)下的協(xié)同與管理“進(jìn)化”[J].中國制造業(yè)信息化,2011,7:24-26.
[6]申德榮,于戈,王習(xí)特,聶鐵錚,寇月.支持大數(shù)據(jù)管理的NoSQL系統(tǒng)研究綜述.軟件學(xué)報,2013,24(8):1786-1803.
[7]Strauch.C.NoSQL Databases.Selected Topics on Software-Technology,Stuttgart Media University.
[8]NoSQL.http://nosql-database.org/
[9]BSON.http://bsonspec.org/
[10](美)Kyle Banker著.MongoDB實(shí)戰(zhàn).丁雪豐譯.北京:人民郵電出版社,2012.
[11](美)Kristina Chodorow著.MongoDB權(quán)威指南.鄧強(qiáng),王明輝譯.北京:人民郵電出版社,2014.
[12]宋鵬.基于Oracclgi的數(shù)據(jù)遷移方案設(shè)計(jì)及性能優(yōu)化[D].陜西:西安電子科技大學(xué),2007.
[13]毛應(yīng)爽.Excel到MongoDB數(shù)據(jù)遷移解決方案[J].信息通信,2013,7:87-88.
[14]黃偉權(quán).MongoDB的形式化模型和研究[D].廣東:中山大學(xué)軟件工程學(xué)院,2013.
[15]鐘自強(qiáng).南方公司機(jī)動分公司[D].湖南:國防科學(xué)技術(shù)大學(xué)機(jī)械工程學(xué)院,2002.
MBD;PDM;NoSQL;Data Migration;MongoDB;Query Efficiency
Design and Implementation of PDM Data Migrating to MongoDB
XIA Xiu-feng1,2,ZENG Zhe2
(1.Liaoning General Aviation Laboratory,Shenyang Aerospace University,Shenyang 110136;2.School of Computer Science,Shenyang Aerospace University,Shenyang 110136)
1007-1423(2016)04-0087-06
10.3969/j.issn.1007-1423.2016.04.021
夏秀峰(1964-),男,山東青島人,博士,教授,研究方向?yàn)閿?shù)據(jù)庫理論與技術(shù)
曾喆(1987-),男,山東省菏澤人,碩士研究生,研究方向?yàn)楣芾硇畔⑾到y(tǒng)與數(shù)據(jù)庫
2015-12-15
2016-01-10
隨著MBD技術(shù)在制造業(yè)的廣泛實(shí)施,使得產(chǎn)品整個生命周期中產(chǎn)生的數(shù)據(jù)規(guī)模急劇增大,伴隨而來的對數(shù)據(jù)高并發(fā)讀寫、高訪問量等問題日益突出,現(xiàn)行的基于RDB的數(shù)據(jù)存儲方式不能很好地應(yīng)對這些問題而非關(guān)系數(shù)據(jù)庫具有先天優(yōu)勢。針對上述問題,設(shè)計(jì)遷移工具實(shí)現(xiàn)數(shù)據(jù)由RDB向非關(guān)系數(shù)據(jù)庫MongoDB遷移。通過提出的三種變換方法,并且以文檔為最小變化單位,實(shí)現(xiàn)數(shù)據(jù)遷移。實(shí)驗(yàn)結(jié)果表明,在隨著文檔規(guī)模不斷增大的情況下,經(jīng)過設(shè)計(jì)的遷移工具和MongoDB自帶的遷移工具遷移之后,前者比后者查詢效率明顯提高。
MBD;PDM;非關(guān)系數(shù)據(jù)庫;數(shù)據(jù)遷移;MongoDB;空間存儲;查詢效率
航空科技基金(No.2013ZG54032)
With widely implemented in manufacturing industry,MBD technology makes the product whole life cycle of data size increases sharply, the data associated with high concurrency,speaking,reading and writing,such as high traffic problem increasingly prominent,the current way of data storage based on RDB cannot deal with these issues effectively rather than a NoSQL has the congenital advantage.Aiming at these problems,designs the tool to migrate data from RDB to directing a non-relational database MongoDB.Through the proposed three kinds of transformation methods,and according to the document as the smallest unit of change,realizes the data migration.The experi鄄mental results show that along with the continuously increasing scale of documents,comparing the design of the migration tool to Mon鄄goDB own migration,the former obviously improves the query efficiency than the latter.