国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

關(guān)系數(shù)據(jù)庫(kù)向文檔數(shù)據(jù)庫(kù)的模式轉(zhuǎn)換算法

2016-09-20 05:46王海林張雅君山西財(cái)經(jīng)大學(xué)信息管理學(xué)院太原030006
現(xiàn)代計(jì)算機(jī) 2016年18期
關(guān)鍵詞:主鍵關(guān)系數(shù)據(jù)庫(kù)文檔

王海林,張雅君(山西財(cái)經(jīng)大學(xué)信息管理學(xué)院,太原 030006)

關(guān)系數(shù)據(jù)庫(kù)向文檔數(shù)據(jù)庫(kù)的模式轉(zhuǎn)換算法

王海林,張雅君
(山西財(cái)經(jīng)大學(xué)信息管理學(xué)院,太原030006)

0 引言

從數(shù)據(jù)庫(kù)的角度來(lái)講,大數(shù)據(jù)是指不可以被通常的數(shù)據(jù)處理工具如傳統(tǒng)的數(shù)據(jù)庫(kù)管理系統(tǒng)所捕獲、存儲(chǔ)、管理和分析的數(shù)據(jù)[1]。為了滿(mǎn)足大數(shù)據(jù)存儲(chǔ)及處理分析的需求,NoSQL(Not Only SQL)數(shù)據(jù)庫(kù)應(yīng)運(yùn)而生。

不同于關(guān)系數(shù)據(jù)庫(kù),NoSQL數(shù)據(jù)庫(kù)用來(lái)存儲(chǔ)大量的非結(jié)構(gòu)化數(shù)據(jù),因此它的特征是非關(guān)系的、分布的、開(kāi)源的、可水平擴(kuò)展的。按照存儲(chǔ)結(jié)構(gòu)的不同,常見(jiàn)的NoSQL數(shù)據(jù)庫(kù)可以分為文檔式存儲(chǔ)、列式存儲(chǔ)、鍵值對(duì)存儲(chǔ)、對(duì)象式存儲(chǔ)和圖形式存儲(chǔ)。其中,MongoDB是一種輕量級(jí)文檔式存儲(chǔ)數(shù)據(jù)庫(kù),在不涉及到聚合函數(shù)的情況下,MongoDB在性能方面甚至要優(yōu)于關(guān)系數(shù)據(jù)庫(kù)[2]。

NoSQL數(shù)據(jù)庫(kù)在性能上滿(mǎn)足了對(duì)海量數(shù)據(jù)的高效存儲(chǔ)和訪問(wèn)的需求,文獻(xiàn)[3-5]在性能這方面做了詳細(xì)的敘述。與關(guān)系數(shù)據(jù)庫(kù)相比,NoSQL數(shù)據(jù)庫(kù)靈活性更大,擴(kuò)展性更高,可用性更強(qiáng)[6]。

為了將關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù)遷移到NoSQL數(shù)據(jù)庫(kù)中,實(shí)現(xiàn)從SQL到NoSQL的轉(zhuǎn)換,并維持良好的查詢(xún)性能,甚至是提高查詢(xún)效率,許多學(xué)者都做了相關(guān)的研究。一些學(xué)者提出四種表模式變換方法,實(shí)現(xiàn)了從關(guān)系數(shù)據(jù)庫(kù)向HBase遷移的半自動(dòng)化遷移[7]。對(duì)于轉(zhuǎn)換到HBase數(shù)據(jù)庫(kù)的方法,也有學(xué)者提出使用嵌套和多重嵌套描述SQL數(shù)據(jù)庫(kù)中的參照關(guān)系,設(shè)計(jì)了HBase的數(shù)據(jù)模式,并支持從關(guān)系數(shù)據(jù)庫(kù)到HBase數(shù)據(jù)庫(kù)的遷移[8]。因?yàn)橐粋€(gè)表中任何數(shù)據(jù)的獲得都只需執(zhí)行一次查詢(xún),因此在這種模式下會(huì)提高查詢(xún)性能。由于HBase是列存儲(chǔ)數(shù)據(jù)庫(kù),與MongoDB存儲(chǔ)結(jié)構(gòu)不同,這種轉(zhuǎn)換并不能實(shí)現(xiàn)到文檔數(shù)據(jù)庫(kù)的轉(zhuǎn)換。

本文從ER圖入手,提出一種轉(zhuǎn)換算法,將SQL數(shù)據(jù)庫(kù)中表間的參照關(guān)系轉(zhuǎn)換為層次結(jié)構(gòu),將參照關(guān)系中外鍵所在的表作為子表嵌入到主鍵所在的表也就是父表中,從而存儲(chǔ)到MongoDB數(shù)據(jù)庫(kù)中。最后,實(shí)驗(yàn)結(jié)果表明這種算法不僅可以實(shí)現(xiàn)數(shù)據(jù)模式從SQL數(shù)據(jù)庫(kù)到MongoDB數(shù)據(jù)庫(kù)的轉(zhuǎn)換,還可以提高數(shù)據(jù)查詢(xún)的性能,更加符合大數(shù)據(jù)時(shí)代對(duì)數(shù)據(jù)分析的要求。

1 相關(guān)研究

從結(jié)構(gòu)化到半結(jié)構(gòu)化再到非結(jié)構(gòu)化,數(shù)據(jù)的形式越來(lái)越自由,越來(lái)越向無(wú)模式的方向發(fā)展。基于關(guān)系數(shù)據(jù)庫(kù)存儲(chǔ)半結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù),可以利用已經(jīng)完善的SQL數(shù)據(jù)庫(kù),降低開(kāi)發(fā)者的學(xué)習(xí)曲線(xiàn)。Sinew是一個(gè)基于關(guān)系數(shù)據(jù)庫(kù)的系統(tǒng),它在關(guān)系數(shù)據(jù)庫(kù)中定義了虛擬列,從而對(duì)鍵值對(duì)文檔進(jìn)行存儲(chǔ),實(shí)現(xiàn)了對(duì)半結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ)[9]??烧怯捎谝躁P(guān)系數(shù)據(jù)庫(kù)為基礎(chǔ),這個(gè)系統(tǒng)在對(duì)數(shù)據(jù)的拓展性和進(jìn)行分布式處理時(shí)都有很大的障礙。因此,NoSQL數(shù)據(jù)庫(kù)呈現(xiàn)出了巨大的優(yōu)勢(shì)。

圖數(shù)據(jù)庫(kù)是NoSQL中的一種,有學(xué)者提出使用圖數(shù)據(jù)庫(kù)存儲(chǔ)醫(yī)療數(shù)據(jù),通過(guò)圖中的節(jié)點(diǎn)實(shí)現(xiàn)了更高的擴(kuò)展性[10]。也有學(xué)者提出基于文本構(gòu)造圖數(shù)據(jù)庫(kù)的方法[11]。但是圖數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)有一定的特征,如社交網(wǎng)絡(luò)中的數(shù)據(jù)。因?yàn)樗m合處理數(shù)據(jù)間的關(guān)系,對(duì)于節(jié)點(diǎn)本身屬性的處理沒(méi)有優(yōu)勢(shì)。所以將沒(méi)有具體特征的數(shù)據(jù)轉(zhuǎn)存于圖數(shù)據(jù)庫(kù)中并不合適。

為了很好的利用NoSQL數(shù)據(jù)庫(kù)無(wú)固定結(jié)構(gòu)的優(yōu)勢(shì),轉(zhuǎn)換后的數(shù)據(jù)模式不僅要符合所使用數(shù)據(jù)庫(kù)的特點(diǎn),還可以有針對(duì)性的提高數(shù)據(jù)庫(kù)性能。一些學(xué)者探索了在NoSQL中,如何在最小存儲(chǔ)開(kāi)銷(xiāo)中優(yōu)化查詢(xún)性能[12]。他們提出的方法是在已知的模式中,用執(zhí)行已定負(fù)載的成本引導(dǎo)從數(shù)據(jù)模型到物理模式的映射??捎捎谌鄙倌繕?biāo)NoSQL數(shù)據(jù)庫(kù)的成本模型和搜索可能查詢(xún)模式的方法,性能的比較是通過(guò)人工實(shí)現(xiàn)的,所以對(duì)于大量的數(shù)據(jù),并不能說(shuō)明這種映射可以更好的提高查詢(xún)效率。QODM[13]是一個(gè)面向查詢(xún)的工具,在工具中輸入NoSQL數(shù)據(jù)庫(kù)中數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)和應(yīng)用程序?qū)?shù)據(jù)查詢(xún)的需要,就可以生成相應(yīng)的數(shù)據(jù)模型和數(shù)據(jù)模式。可NoSQL并沒(méi)有固定的數(shù)據(jù)結(jié)構(gòu),這就需要使用第三方工具實(shí)現(xiàn)數(shù)據(jù)的轉(zhuǎn)換或遷移。

2 模型轉(zhuǎn)換設(shè)計(jì)

2.1基本轉(zhuǎn)換思維

MongoDB的邏輯結(jié)構(gòu)是一種層次結(jié)構(gòu),它由數(shù)據(jù)庫(kù)(Database)、集合(Collection)和文檔(Document)組成[14]。在關(guān)系數(shù)據(jù)庫(kù)中,當(dāng)查詢(xún)涉及多個(gè)表時(shí),通常需要使用連接查詢(xún)。而由于MongoDB自身的特點(diǎn),它不支持連接查詢(xún)。為了彌補(bǔ)這一缺陷,MongoDB提供DBRef方式關(guān)聯(lián)數(shù)據(jù)表,可這種關(guān)聯(lián)方式并不是性能最優(yōu)的查詢(xún)方式。當(dāng)把需要連接的內(nèi)容放在一個(gè)集合中,也就是使用嵌套存儲(chǔ)方式時(shí),會(huì)消除表間的連接,提高查詢(xún)效率。由于從關(guān)系數(shù)據(jù)庫(kù)遷移到MongoDB的數(shù)據(jù)多為用于數(shù)據(jù)分析的歷史數(shù)據(jù),在MongoDB中對(duì)這些數(shù)據(jù)只做查詢(xún)操作,因此這種嵌套存儲(chǔ)方式不會(huì)影響MongoDB數(shù)據(jù)庫(kù)的完整性和一致性。

2.2FR圖元建模

使用元建模工具M(jìn)etaEdit+對(duì)ER圖進(jìn)行建模,建立ER圖的元模型,元模型建好后,使用逆向工程的方法從設(shè)計(jì)好的關(guān)系數(shù)據(jù)庫(kù)生成ER圖,然后使用“角色”對(duì)其進(jìn)行遍歷。

2.3數(shù)據(jù)模式基本轉(zhuǎn)換

由于MongoDB是文檔類(lèi)型的數(shù)據(jù)庫(kù),所以在模型轉(zhuǎn)換時(shí),ER圖中的實(shí)體型最終轉(zhuǎn)換為文檔集合,相關(guān)定義如下:

①E表示ER圖的實(shí)體型,表示E的值,即E的實(shí)體。Ei表示ER圖中第i個(gè)實(shí)體型;

②TE表示E最終生成的文檔集合;

③E.A表示實(shí)體型E中的屬性A。E.U表示E的屬性全集,即由E的全部屬性組成的集合。E.Apk表示E的主鍵,E.Afk表示E的外鍵,E.Aot表示E的其他屬性集合,即E.Aot=E.U-E.Apk-E.Afk;

④E.pk表示E在聯(lián)系中承擔(dān)的主鍵角色;

⑤E.fk表示E在聯(lián)系中承擔(dān)的外鍵角色;

⑥E.Tfk表示模式轉(zhuǎn)換后實(shí)體型E的E.Afk。

(1)單表模式轉(zhuǎn)換

當(dāng)實(shí)體型E不參照任何其它實(shí)體型時(shí),模型轉(zhuǎn)換前和轉(zhuǎn)換后沒(méi)有本質(zhì)的區(qū)別。轉(zhuǎn)換圖如圖1所示。

圖1 單表模式轉(zhuǎn)換

(2)參照模式轉(zhuǎn)換

①簡(jiǎn)單轉(zhuǎn)換

如圖2所示,實(shí)體型E1的主鍵為E1.Apk,外鍵為E1. Afk=E1.A2,其他屬性集合為E1.Aot=E1.B1。實(shí)體型E2的主鍵為E1.Apk=E2.A2,其他屬性集合為E2.Aot=E2.B2??梢钥闯?,E2的主鍵E2.A2為E1的外鍵。

圖2 簡(jiǎn)單轉(zhuǎn)換

在進(jìn)行模式轉(zhuǎn)換時(shí),實(shí)體型E2的所有屬性作為以E2.A2為節(jié)點(diǎn)的屬性集合存儲(chǔ)在E1中。也就是E1的外鍵不再是轉(zhuǎn)換前的E2.A2,而是包含E2的主鍵和其他屬性集合的集合。這樣數(shù)據(jù)結(jié)構(gòu)就不再是轉(zhuǎn)換前的結(jié)構(gòu),而是將實(shí)體型連同其屬性作為一個(gè)文檔數(shù)據(jù)集合,內(nèi)嵌于另一個(gè)實(shí)體型的屬性中,即:

(2)縱向擴(kuò)展

在1:n聯(lián)系中,縱向擴(kuò)展是指實(shí)體型E1參照E2,E2參照E3,依此類(lèi)推,直至En-1參照En,而En不參照任何實(shí)體型。在模式轉(zhuǎn)換后,En的屬性集合En.U會(huì)作為En-1的外鍵存儲(chǔ)在En-1.Tfk中,此時(shí)En-1的屬性集合為En-1. U=En-1.Tfk∪En-1.Apk∪En-1.Aot;然后En-1的屬性集合En-1.U會(huì)作為En-2的外鍵存儲(chǔ)在En-2.Tfk中,En-2的屬性集合變?yōu)镋n-2.U=En-2.Tfk∪En-2.Apk∪En-2.Aot;依次遞推,就可得出如下結(jié)果:

綜上所述,在小兒支氣管哮喘急性發(fā)作治療中,采用布地奈德混懸液聯(lián)合吸入用異丙托溴銨治療效果更為顯著,有利于加速患兒臨床癥狀消失,提高其整體治療效果。

使用圖來(lái)表示轉(zhuǎn)換過(guò)程,如圖3。

(3)橫向擴(kuò)展

橫向擴(kuò)展是指實(shí)體型E1既參照E2,也參照E3、E4…,En,如圖4。此時(shí)有:

2.4ER模型轉(zhuǎn)換算法

充當(dāng)外鍵角色的實(shí)體型其自身所包含的屬性信息是不完整的,因此,它的數(shù)據(jù)集合應(yīng)該包含著它所參照的實(shí)體型。換句話(huà)說(shuō)就是要將主鍵角色實(shí)體型的屬性?xún)?nèi)嵌于參照關(guān)系中外鍵角色實(shí)體型的屬性中,從而減少數(shù)據(jù)表與表之間的連接,提高查詢(xún)效率。

由于MetaEdit+是隨機(jī)確定遍歷實(shí)體型順序的,所以使用其對(duì)ER圖進(jìn)行遍歷時(shí),每一次的搜索順序都是不同的。如果從只含有主鍵角色的實(shí)體型開(kāi)始遍歷,可以簡(jiǎn)化遍歷算法。

圖3 縱向擴(kuò)展

首先,從任意實(shí)體型開(kāi)始,通過(guò)“角色”遍歷ER圖,找到某一個(gè)只充當(dāng)主鍵角色而不充當(dāng)外鍵角色的實(shí)體型,然后從該實(shí)體型開(kāi)始查找其上層是否有外鍵角色實(shí)體型。如果沒(méi)有,則將該實(shí)體型轉(zhuǎn)換為一個(gè)單獨(dú)的文檔集合存儲(chǔ)在MongoDB中。若有則根據(jù)上層外鍵角色實(shí)體型找到其參照的所有實(shí)體型,將這些實(shí)體型分別轉(zhuǎn)換為一個(gè)單獨(dú)的文檔集合存儲(chǔ)在MongoDB中,再將它們連同自己的屬性存入上一層外鍵角色的實(shí)體型中。此時(shí),這個(gè)上層外鍵角色實(shí)體型參照的所有實(shí)體型都轉(zhuǎn)換結(jié)束,就可以去除其外鍵角色將其看作只充當(dāng)主鍵角色而不充當(dāng)外鍵角色的實(shí)體型,繼續(xù)循環(huán)。

圖4 橫向擴(kuò)展

3 實(shí)驗(yàn)分析

為了驗(yàn)證轉(zhuǎn)換后的內(nèi)嵌文檔存儲(chǔ)模式對(duì)查詢(xún)性能的提高,需要在文檔數(shù)據(jù)庫(kù)中分別以?xún)?nèi)嵌文檔模式和單文檔模式存儲(chǔ)同一數(shù)據(jù)集并對(duì)比執(zhí)行相同查詢(xún)時(shí)所需的時(shí)間。

3.1實(shí)驗(yàn)數(shù)據(jù)

實(shí)驗(yàn)使用了兩個(gè)數(shù)據(jù)集,分別來(lái)自關(guān)系數(shù)據(jù)庫(kù)SQL Server 2014的示例數(shù)據(jù)庫(kù)Business和文檔數(shù)據(jù)庫(kù)MongoDB的示例數(shù)據(jù)庫(kù)Northwind。根據(jù)前面所述的要求,我們將Business數(shù)據(jù)庫(kù)的數(shù)據(jù)分別以單文檔集合模式和內(nèi)嵌文檔集合模式存儲(chǔ)在MongoDB中,并將Northwind數(shù)據(jù)庫(kù)的數(shù)據(jù)轉(zhuǎn)換為數(shù)據(jù)表的形式存儲(chǔ)在SQL Server 2014中。Northwind中實(shí)體型間參照關(guān)系最大為3層,Business中實(shí)體型間參照關(guān)系最大為4層。

3.2性能比較

根據(jù)數(shù)據(jù)結(jié)構(gòu),設(shè)計(jì)單表查詢(xún)語(yǔ)句和多重表連接查詢(xún)語(yǔ)句。圖5反映了隨著表連接數(shù)的增加,MongoDB中使用內(nèi)嵌和非內(nèi)嵌模式時(shí)查詢(xún)語(yǔ)句得出結(jié)果所需的時(shí)間。該結(jié)果證明了算法中內(nèi)嵌數(shù)據(jù)的模式在某種程

度上提高了查詢(xún)性能,縮短了查詢(xún)所需要的時(shí)間。

圖5 內(nèi)嵌模式和非內(nèi)嵌模式查詢(xún)性能比較

從上圖中可以看出兩個(gè)數(shù)據(jù)集中內(nèi)嵌模式比非內(nèi)嵌模式的查詢(xún)性能要高,所需時(shí)間要短,并且隨著查詢(xún)所涉及數(shù)據(jù)表數(shù)量的增多,使用內(nèi)嵌模式的優(yōu)勢(shì)越明顯。在MongoDB中,不支持?jǐn)?shù)據(jù)表的連接操作,所以在非內(nèi)嵌模式下的查詢(xún),需要在主鍵角色的文檔集合中篩選滿(mǎn)足條件的數(shù)據(jù)并把其查詢(xún)出的結(jié)果賦予一個(gè)變量,再將變量中的相關(guān)屬性作為條件在外鍵角色的文檔集合中進(jìn)行查詢(xún),最后返回查詢(xún)結(jié)果。由于需要對(duì)不同文檔集合的數(shù)據(jù)進(jìn)行篩選和對(duì)中間變量的賦值和提取,會(huì)大大延長(zhǎng)查詢(xún)時(shí)間,降低數(shù)據(jù)庫(kù)性能。而將關(guān)系數(shù)據(jù)庫(kù)中表間的連接關(guān)系轉(zhuǎn)換為內(nèi)嵌結(jié)構(gòu)只需要在一個(gè)文檔集合中進(jìn)行操作,從而節(jié)省了操作所需的時(shí)間。

4 結(jié)語(yǔ)

本文提出了一種數(shù)據(jù)模式的轉(zhuǎn)換算法,這種算法利用MetaEdit+中的“角色”遍歷ER圖,實(shí)現(xiàn)了數(shù)據(jù)模式從關(guān)系數(shù)據(jù)庫(kù)到文檔數(shù)據(jù)庫(kù)的轉(zhuǎn)換,解決了數(shù)據(jù)從傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)遷移到大數(shù)據(jù)環(huán)境下NoSQL類(lèi)型數(shù)據(jù)庫(kù)中模式不同的問(wèn)題,并通過(guò)實(shí)驗(yàn)說(shuō)明了轉(zhuǎn)換算法的正確性,驗(yàn)證了在轉(zhuǎn)換后的內(nèi)嵌模式下查詢(xún)性能的提高。

[1]Jaroslav Pokorny.Database Technologies in the World of Big Data[C].Proceedings of the 16th International Conference on Computer Systems and Technologies.New York:ACM,2015:1-12.

[2]Zachary Parker,Scott Poe,Susan V.Vrbsky.Comparing NoSQL MongoDB to an SQL DB[C].Proceedings of the 51st ACM Southeast Conference.New York:ACM,2013.

[3]申德榮,于戈,王習(xí)特等.支持大數(shù)據(jù)管理的NoSQL系統(tǒng)研究綜述[J].軟件學(xué)報(bào),2013,24(8):1786-1803.

[4]John Klein,Ian Gorton,Neil Ernst,et al.Performance Evaluation of NoSQL Databases:A Case Study[C].Proceedings of the 1st Workshop on Performance Analysis of Big Data Systems.New York:ACM,2015:5-10.

[5]王林彬,黎建輝,沈志宏.基于NoSQL的rdf數(shù)據(jù)存儲(chǔ)與查詢(xún)技術(shù)綜述[J].計(jì)算機(jī)應(yīng)用研究,2015,5(32):1281-1286.

[6]孟曉峰,慈祥.大數(shù)據(jù)管理:概念、技術(shù)與挑戰(zhàn)[J].計(jì)算機(jī)研究與發(fā)展,2013,50(1):146-169.

[7]楊寒冰,趙龍,賈金原.HBase數(shù)據(jù)庫(kù)遷移工具的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)科學(xué)與探索,2013,7(3):236-246.

[8]Gansen Zhao,Libo Li,Zijing Li,et al.Multiple Nested Schema of HBase for Migration from SQL[C].Proceedings of Ninth International Conference on P2P,Parallel,Grid,Cloud and Internet Computing.2014:338-343.

[9]Daniel Tahara,Thaddeus Diamond,Daniel J.Abadi.Sinew:A SQL System for Multi-Structured Data[C].Proceedings of the SIGMOD 2014.New York:ACM,2014:815-826.

[10]Manpreet Singh,Karamjit Kaur.SQL2Neo:Moving Health-care Data From Relational To Graph Database[C].Proceedings of IACC.Piscataway,NJ:IEEE,2015:721-725.

[11]S.Jeon,Y.Khosiawan,B.Hong.Making a Graph Database from Unstructured Text[C].Proceedings of Computational Science and Engineering.Piscataway,NJ:IEEE,2013:981-988.

[12]Michael J.Mior.Automated Schema Design for NoSQL Databases[C].Proceedings of SIGMOD 2014.New York:ACM,2014:41-45.

[13]Xiang Li,Zhiyi Ma,Hongjie Chen.QODM:A Query-Oriented Data Modeling Approach for NoSQL Databases[C].Proceedings of WARTIA.Piscataway,NJ:IEEE,2014:338-345.

[14]Veronika Abramova,Jorge Bernardino.NoSQL Databases:MongoDB VS Cassandra[C].Proc of the International C*Conference on Computer Science and Software Engineering.New York,2013:14-22.

Schema Conversion;Document Database;MongoDB;NoSQL

An Algorithm for Schema Conversion from Relational Databases to Document-Oriented Databases

WANG Hai-lin,ZHANG Ya-jun
(College of Information Management,Shanxi University of Finance and Economics,Taiyuan 030006)

山西省回國(guó)留學(xué)人員科研資助項(xiàng)目(No.2013076)

1007-1423(2016)18-0018-06

10.3969/j.issn.1007-1423.2016.18.004

王海林(1962-),男,副教授,碩士,研究方向?yàn)閿?shù)據(jù)建模、大數(shù)據(jù)、分布式系統(tǒng)、數(shù)據(jù)可視化張雅君(1992-),女,碩士研究生,研究方向?yàn)閿?shù)據(jù)挖掘、數(shù)據(jù)建模

2016-06-07

2016-06-20

文檔數(shù)據(jù)庫(kù)是NoSQL數(shù)據(jù)庫(kù)的一種,它與關(guān)系數(shù)據(jù)庫(kù)在數(shù)據(jù)結(jié)構(gòu)上存在較大差異。為了解決關(guān)系數(shù)據(jù)庫(kù)與非關(guān)系數(shù)據(jù)庫(kù)模式不同的問(wèn)題,實(shí)現(xiàn)數(shù)據(jù)從關(guān)系數(shù)據(jù)庫(kù)向非關(guān)系數(shù)據(jù)庫(kù)的轉(zhuǎn)換,以文檔數(shù)據(jù)庫(kù)MongoDB為例,利用元建模工具M(jìn)etaEdit+中的“角色”遍歷ER圖,提出從關(guān)系數(shù)據(jù)庫(kù)到文檔數(shù)據(jù)庫(kù)的模式轉(zhuǎn)換算法。這種算法不僅解決傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)與文檔數(shù)據(jù)庫(kù)模式不同的問(wèn)題,而且使得轉(zhuǎn)換后的模式對(duì)數(shù)據(jù)庫(kù)查詢(xún)性能有顯著的提高。實(shí)驗(yàn)結(jié)果說(shuō)明這種轉(zhuǎn)換的正確性以及模式對(duì)于查詢(xún)的高效性。

數(shù)據(jù)模式轉(zhuǎn)換;文檔數(shù)據(jù)庫(kù);MongoDB;NoSQL

The document-oriented database is one of NoSQL databases;its schema is different from relational databases.In order to implement the conversion from relational databases to NoSQL databases,based on MongoDB,proposes an algorithm which achieves schema conversion of relational databases to document-oriented databases by traversing ER-Diagram in MetaEdit+which is one of tools for metamodeling. The algorithm not only solves the different schema problems between traditional relational databases and document-oriented databases,and the transformed model improves the performance of the database query.Finally,the experiment has shown the correctness of the algorithm and the high performance of join operation.

猜你喜歡
主鍵關(guān)系數(shù)據(jù)庫(kù)文檔
基于Go 實(shí)現(xiàn)的分布式主鍵系統(tǒng)研究
關(guān)系數(shù)據(jù)庫(kù)在高爐數(shù)據(jù)采集系統(tǒng)中的應(yīng)用
淺談Matlab與Word文檔的應(yīng)用接口
有人一聲不吭向你扔了個(gè)文檔
關(guān)系數(shù)據(jù)庫(kù)技術(shù)在計(jì)算機(jī)網(wǎng)絡(luò)設(shè)計(jì)中的應(yīng)用
基于外鍵的E-R圖繪制方法研究
基于RI碼計(jì)算的Word復(fù)制文檔鑒別
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
數(shù)據(jù)庫(kù)主鍵設(shè)置探討
一種基于數(shù)據(jù)圖劃分的關(guān)系數(shù)據(jù)庫(kù)關(guān)鍵詞檢索方法
明星| 湄潭县| 黔江区| 札达县| 重庆市| 上蔡县| 法库县| 志丹县| 菏泽市| 唐海县| 渝北区| 衡水市| 定安县| 开化县| 江永县| 聂拉木县| 砀山县| 仁怀市| 邢台市| 北安市| 龙游县| 海伦市| 庄河市| 兴隆县| 布尔津县| 工布江达县| 汉沽区| 托里县| 馆陶县| 丹凤县| 鹤岗市| 兰坪| 孝昌县| 塘沽区| 宣汉县| 湖口县| 商南县| 西青区| 天峻县| 云林县| 榆社县|