国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
開源Xml數(shù)據(jù)庫(kù)評(píng)測(cè)

開源Xml數(shù)據(jù)庫(kù)評(píng)測(cè)

 

 

一、        xml數(shù)據(jù)庫(kù)的概念及分類

Xml雖然已出現(xiàn)很多年,但在前些年通常只被做為數(shù)據(jù)交換文件來(lái)使用,或作為軟件配置文件,較深層次的應(yīng)用較少。隨著xml數(shù)據(jù)使用的越來(lái)越多,迫切需要一種能夠直接處理xml數(shù)據(jù)的數(shù)據(jù)庫(kù)來(lái)管理這些結(jié)構(gòu)或半結(jié)構(gòu)化的數(shù)據(jù)。之前處理xml數(shù)據(jù)都是在作為文本存儲(chǔ)在關(guān)系數(shù)據(jù)庫(kù)中。由于xml數(shù)據(jù)格式是層次關(guān)系,而且同類文件格式也可能不同,用關(guān)系數(shù)據(jù)庫(kù)很難表示,更嚴(yán)重的是使用關(guān)系數(shù)據(jù)庫(kù)保存xml數(shù)據(jù)無(wú)法對(duì)xml數(shù)據(jù)中結(jié)點(diǎn)進(jìn)行檢索。使用新型存儲(chǔ)格式及檢索方式已是必然。隨著處理xml文件的一些方法被定義為標(biāo)準(zhǔn),例如XPath、XQuery等。Xml數(shù)據(jù)庫(kù)的應(yīng)用才越來(lái)越廣泛了。

 

Xml數(shù)據(jù)庫(kù)即使用xml文件作為數(shù)據(jù)存儲(chǔ)格式的數(shù)據(jù)庫(kù)。根據(jù)數(shù)據(jù)庫(kù)實(shí)現(xiàn)模式,xml數(shù)據(jù)庫(kù)分為:

1、可以使用xml文件的數(shù)據(jù)庫(kù)(Enable-XML Database):數(shù)據(jù)庫(kù)內(nèi)部含有處理xml數(shù)據(jù)的模塊,可以和xml數(shù)據(jù)文件交換數(shù)據(jù),即實(shí)現(xiàn)了xml數(shù)據(jù)的讀取,寫入,刪除,更新等操作,但數(shù)據(jù)庫(kù)本身并不是為xml數(shù)據(jù)設(shè)計(jì)的。

當(dāng)前比較流行的數(shù)據(jù)庫(kù)oracleMs SQL Sever,IBM DB2,Ms Access等都屬Enable-XML Database類型。目前大部分關(guān)系數(shù)據(jù)庫(kù)都支持xml數(shù)據(jù)。關(guān)于Enable-XML Dabase數(shù)據(jù)庫(kù)產(chǎn)品,可以參考“XML Database Products_ XML-Enabled Databases.pdf”文檔。

此類數(shù)據(jù)由于底層實(shí)現(xiàn)模塊中并不是專為xml數(shù)據(jù)設(shè)計(jì),所以在使用xml文件數(shù)據(jù)時(shí)必須通過(guò)使用類似ODBC、JDBC等接口程序進(jìn)行數(shù)據(jù)交換。接口程序把xml數(shù)據(jù)讀入數(shù)據(jù)庫(kù)并轉(zhuǎn)換成數(shù)據(jù)庫(kù)可以識(shí)別的數(shù)據(jù)格式后才能操作數(shù)據(jù),操作完的數(shù)據(jù)在通過(guò)接口程序轉(zhuǎn)換成xml數(shù)據(jù)格式,這使得執(zhí)行效率大幅降低。

2、xml數(shù)據(jù)庫(kù)(Native-XML Database):滿足一下3個(gè)條件的就是純xml數(shù)據(jù)庫(kù):

1)、為xml文檔定義了一個(gè)邏輯模型,xml數(shù)據(jù)的存儲(chǔ)和查詢都基于這個(gè)模型。這個(gè)模型至少要包含元素、屬性以及PCDATA等,并保持文檔順序。

2)、將xml文檔作為邏輯存儲(chǔ)的基本單位,正如關(guān)系數(shù)據(jù)庫(kù)將行作為存儲(chǔ)的基本單位一樣。

3)、不要求只能使用某一特定的底層物理模型或某種專有的存儲(chǔ)格式。

數(shù)據(jù)以純xml文件格式保存,存儲(chǔ)在數(shù)據(jù)庫(kù)中的內(nèi)容與原xml文件格式可以保持一致,數(shù)據(jù)庫(kù)引擎直接操作xml數(shù)據(jù)文件,并通過(guò)XPathXQuery檢索數(shù)據(jù)。相對(duì)于Enable-XML Database數(shù)據(jù)庫(kù),由于省去了數(shù)據(jù)轉(zhuǎn)換過(guò)程,在處理xml數(shù)據(jù)時(shí)相對(duì)效率較高。

       目前純xml數(shù)據(jù)庫(kù)產(chǎn)品或單獨(dú)的xml數(shù)據(jù)庫(kù)引擎也有許多,較有代表性的產(chǎn)品有dbXml、Berkeley DB XML等。有代表性的xml數(shù)據(jù)庫(kù)引擎有eXist、Xindice等,本次所作的所有的分析與測(cè)試都是基于eXistXindice數(shù)據(jù)庫(kù)引擎。關(guān)于目前Native-XML Database數(shù)據(jù)庫(kù)產(chǎn)品的介紹可以參考“XML Database Products_ Native XML Databases.pdf”文件。

       Xml數(shù)據(jù)庫(kù)由于可以保持原xml文件的物理格式不變,并且可以按照原格式檢索,所以有時(shí)候純xml數(shù)據(jù)庫(kù)也被稱作原生態(tài)數(shù)據(jù)庫(kù)。如果當(dāng)前有許多xml文件但文件又格式不盡相同的話,使用xml數(shù)據(jù)庫(kù)是個(gè)不錯(cuò)的選擇,通過(guò)數(shù)據(jù)庫(kù)來(lái)管理這些xml文件。利用XPathXQuery也能夠更方便的查找數(shù)據(jù)。但是由于目前用于xml數(shù)據(jù)庫(kù)的一些操作沒有明確的標(biāo)準(zhǔn)導(dǎo)致xml數(shù)據(jù)庫(kù)的引擎各有不同。

 

二、        xml數(shù)據(jù)庫(kù)的優(yōu)缺點(diǎn)

Xml數(shù)據(jù)庫(kù)應(yīng)用還不是很廣泛,這一點(diǎn)我們從目前市場(chǎng)上的主要數(shù)據(jù)庫(kù)產(chǎn)品就可以看出來(lái)。大型數(shù)據(jù)庫(kù)沒有使用純xml數(shù)據(jù)庫(kù)的。至少在上面提到的產(chǎn)品列表文件中沒有見到大型數(shù)據(jù)庫(kù)的身影。但是這也并不代表xml數(shù)據(jù)庫(kù)沒有優(yōu)勢(shì)。下面將對(duì)純xml數(shù)據(jù)庫(kù)和關(guān)系數(shù)據(jù)庫(kù)做個(gè)比較。

優(yōu)點(diǎn):

1、可以直接操作xml文件,對(duì)于處理大量xml文件,純xml數(shù)據(jù)庫(kù)有著先天的優(yōu)勢(shì):不必轉(zhuǎn)換數(shù)據(jù)。這樣就減少了系統(tǒng)資源消耗。普通的關(guān)系數(shù)據(jù)庫(kù)在處理xml數(shù)據(jù)時(shí)必須通過(guò)xml接口處理程序來(lái)轉(zhuǎn)換數(shù)據(jù)。這方面xml數(shù)據(jù)庫(kù)的處理效率明顯高于關(guān)系數(shù)據(jù)庫(kù)。

2、存儲(chǔ)在xml數(shù)據(jù)庫(kù)中文件可以保持原文件的物理格式不變。由于xml文件是自描述的,即文件內(nèi)部不僅包含了數(shù)據(jù)還包含了對(duì)這些數(shù)據(jù)的描述信息。比如數(shù)據(jù)結(jié)構(gòu)和類型。如果數(shù)據(jù)描述信息較多,關(guān)系數(shù)據(jù)庫(kù)就顯得力不從心了。

3、原生檢索方式,這時(shí)純xml數(shù)據(jù)庫(kù)獨(dú)有的特點(diǎn),即純xml數(shù)據(jù)庫(kù)允許用戶使用對(duì)未作任何格式轉(zhuǎn)變的數(shù)據(jù)直接檢索。這就使得同一檢索式可以同時(shí)檢索不同格式xml文件。原生檢索方式對(duì)于擁有大量不同格式的xml文件的用戶來(lái)說(shuō)是最好的檢索方式。

4、以分層的樹形結(jié)構(gòu)描述數(shù)據(jù),能夠檢索各個(gè)結(jié)點(diǎn)。

缺點(diǎn):

1、數(shù)據(jù)冗余度高,由于xml文件中帶有大量非數(shù)據(jù)的內(nèi)容,也許這些內(nèi)容比數(shù)據(jù)本身還要多,不僅占用大量的磁盤空間,還會(huì)給操作文件帶來(lái)困難。假如你需要在一個(gè)1GB的文件中間頻繁插入或刪除數(shù)據(jù)。

2、檢索效率低下,如果數(shù)據(jù)訪問(wèn)速度不高,檢索就可想而知了。前面提到的檢索效率高是指在xml數(shù)據(jù)庫(kù)中和關(guān)系數(shù)據(jù)庫(kù)中都只處理xml數(shù)據(jù)時(shí)。但相對(duì)于關(guān)系數(shù)據(jù)庫(kù)中的普通數(shù)據(jù)來(lái)說(shuō)。純xml數(shù)據(jù)庫(kù)還遠(yuǎn)達(dá)不到這樣的高效。這也是妨礙純xml數(shù)據(jù)廣泛應(yīng)用的的主要缺陷。曾有人使用eXist作過(guò)一些測(cè)試,測(cè)試過(guò)程中,如果在1GB大小的xml文件檢索一個(gè)數(shù)據(jù),所消耗的時(shí)間大概是煮一杯咖啡的時(shí)間。

3、xml數(shù)據(jù)庫(kù)的XQuery語(yǔ)言標(biāo)準(zhǔn)不完善,現(xiàn)在XQuery語(yǔ)言的中不支持插入、刪除、更新操作,即使是部分xml數(shù)據(jù)庫(kù)廠家提供了類似功能,也不能得到廣泛的應(yīng)用,因?yàn)闆]有標(biāo)準(zhǔn)。它不能夠像SQL那樣功能強(qiáng)大。也由于這個(gè)缺陷給開發(fā)基于xml數(shù)據(jù)庫(kù)的應(yīng)用程序帶來(lái)更多風(fēng)險(xiǎn),只能針對(duì)某種數(shù)據(jù)庫(kù)開發(fā),而且許多本應(yīng)由XQuery本身提供的功能,比如插入、刪除、更新功能不得不由應(yīng)用程序開發(fā)人員開發(fā)。

三、           本次測(cè)試中所使用的純xml數(shù)據(jù)庫(kù)介紹

本次測(cè)試中所使用的純xml數(shù)據(jù)庫(kù)有兩個(gè),分別是eXist 1.0版和Xindice 1.1B4版,都是目前最高版本。關(guān)于它們?nèi)绾伟惭b使用請(qǐng)參考文檔“eXist數(shù)據(jù)庫(kù).doc”和“Xindice數(shù)據(jù)庫(kù).doc”。這里只對(duì)最后測(cè)試結(jié)果作一簡(jiǎn)單的介紹。

 

eXist

Xindice

安裝方便程度

方便

一般

使用方便程度

方便

一般

程序穩(wěn)定性

不穩(wěn)定

不穩(wěn)定

1M數(shù)據(jù)中檢索

少于1

堆棧溢出

10M

索引前20秒,索引后3

堆棧溢出

100M

堆棧溢出

堆棧溢出

300M

堆棧溢出

堆棧溢出

500M

堆棧溢出

堆棧溢出

800M

堆棧溢出

堆棧溢出

1000M

堆棧溢出

堆棧溢出

 

 

 

測(cè)試總結(jié):

這兩個(gè)數(shù)據(jù)庫(kù)引擎非常不穩(wěn)定,而且性能不好。

 

四、            選擇純xml數(shù)據(jù)庫(kù)還是關(guān)系數(shù)據(jù)庫(kù)?

這是一個(gè)比較重要的問(wèn)題,雖然它們都是數(shù)據(jù)庫(kù),但是除了數(shù)據(jù)庫(kù)本身有許多不同之外,在使用上也是大不相同。在項(xiàng)目中使用哪種數(shù)據(jù)庫(kù)還需要慎重考慮,根據(jù)上面的數(shù)據(jù)庫(kù)的對(duì)比分析,大體可以總結(jié)一下在何種情況下使用哪種數(shù)據(jù)庫(kù):

1、              如果當(dāng)前有許多xml文件,并且xml文件的格式不統(tǒng)一或者用表格的方法難以表示,那么這時(shí)最好選用純xml數(shù)據(jù)庫(kù)。

2、              如果在以后的工作中會(huì)產(chǎn)生大量格式或半格式的xml文件,那么選用純xml數(shù)據(jù)庫(kù)較合適。

3、              如果經(jīng)常使用xml文件作為數(shù)據(jù)交換格式,則選擇純xml數(shù)據(jù)庫(kù)較好。

4、              如果你的數(shù)據(jù)之間有較多的關(guān)聯(lián),就最好選用關(guān)系數(shù)據(jù)庫(kù)。純xml數(shù)據(jù)庫(kù)只能表示簡(jiǎn)單的數(shù)據(jù)關(guān)系。

5、              如果對(duì)數(shù)據(jù)庫(kù)的性能要求較高的話,最好使用關(guān)系數(shù)據(jù)庫(kù),關(guān)系數(shù)據(jù)庫(kù)已發(fā)展成熟,而純xml數(shù)據(jù)庫(kù)目前發(fā)展還不完善,比如,插入,刪除、更新操作還未有標(biāo)準(zhǔn)。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
利用 Oracle 10g 技能學(xué)習(xí) DB2 9.1 for Linux, UNIX an...
XML數(shù)據(jù)庫(kù):最新進(jìn)展和發(fā)展方向
DB2和Oracle區(qū)別
XML數(shù)據(jù)庫(kù)問(wèn)答 - JUST ON MY WAY
怎樣玩轉(zhuǎn)千萬(wàn)級(jí)別的數(shù)據(jù)
xquery
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服