四個主流的Native-XML數據庫(轉載)

作者:雨水 日期:2007-03-22 轉載出處http://blog.csdn.net/gobitan


隨着XML日益廣泛的應用,XML數據存儲的問題擺在了我們的面前。如何有效地管理大量的XML文檔是亟待解決的問題。

最初,通常的做法是先把XML數據轉換爲關係映射將其存入關係數據庫中,寫入和讀出都要進行相應的轉換。但是隨着XML數據量的日益增加,這顯然不是最好的解決辦法。於是誕生了專門爲XML文檔存儲設計的Native-XML數據庫,也被稱爲原生XML數據庫或純XML數據庫。

本文介紹了四個主流的Native-XML數據庫,並略作比較,以爲需要大量存儲XML數據的用戶提供Native-XML數據庫的選擇參考。



Tamino數據庫系統

Tamino是Software AG公司提供的原生XML數據庫服務器產品,它於1999年發佈第一個版本。Tamino將XML文檔以原生的方式存儲在Tamino數據庫中,而不是映射到其他的數據庫模型。

Tamino數據庫具有以下特點:

(1)支持HTTP方方法GET、PUT、DELETE和HEAD讀取文檔、存儲或替換文檔、刪除文檔那個和取得文檔的有關信息,並支持SSL安全機制;

(2)提供Java、ActiveX、JavaScript和.net等語言的API訪問;

(3)支持XML Schema模式驗證;

(4)也可存儲其他類型的對象,如圖像、聲音文件、Word文檔、HTML頁面文件等;

(5)方便與其他數據庫進行集成與數據轉化;

(6)支持XQuery查詢語言;

(7)提供圖形界面和命令行方式的交互。

Tamino XML服務器提供了用於處理XML的現代數據庫系統必需的完整功能。它支持一個數據庫系統所應該具有的所有特性,包括多用戶操作、事務支持、強大的備份功能,海量處理能力、可擴充性和高性能。



eXist數據庫系統

eXistz是一個開放源代碼的純XML數據庫系統,於2001年開始研究。

eXist數據庫具有以下特點:

(1)完全用Java語言實現;

(2)不支持XML Schema模式驗證;

(3)支持XPath查詢;

(4)支持可插拔的存儲後端,即後端既可以純XML數據庫也可以是關係數據庫;

(5)支持HTTP、XML-RPC、SOAP和WebDAV接口訪問和Java專用的XML:DB API;



Xindice數據庫

Xindice是一個開放源碼的Native-XML數據庫。它也是Apache自由軟件基金會下的一個項目。Xindice可以以XML本身的格式存儲和檢索XML數據,它有個缺點是不能處理較大的XML文檔數據。這個大小沒有嚴格的定義,通常1M字節以上的就可以認爲比較大。

Xindice具有以下特點:

(1)完全用Java語言寫成,因此需要JDK的支持;

(2)支持DOM和SAX編程接口;

(3)僅支持well formed的XML文檔,不支持Schema驗證。

(4)提供Java語言的XML:DB API接口和其它語言的XML-RPC的接口;

(5)提供命令行管理工具。

Xindice目前已經足以運用於一般的內容管理系統,但其不支持XML校驗和不能處理較大的XML文檔,因此在大型應用中有所限制。



Berkeley DB XML嵌入式數據庫

Berkeley DB XML是一個開放源碼的嵌入式Native-XML數據庫。它是在Berkeley DB(一種通用的嵌入式數據庫引擎)的基礎上開發而成。Berkeley DB XML存儲XML文檔,對它們進行索引並提供一個XPath檢索接口。XML文檔被組織在不同的容器內,這些容器可以共用一個通用的模式定義或者不規定特定的模式。

Berkeley DB XML數據庫具有以下特徵:

(1)它是一個庫而不是一個數據庫服務器,它與應用程序運行在同一個進程;

(2)提供基於XQuery的接口訪問存儲;

(3)支持XML Schema驗證;

(4)對外提供編程接口API支持C++、Java、Perl、Python、PHP、Tcl、Ruby等語言;

(5)開放源代碼、底層採用C/C++語言實現;

(6)支持操作系統包括Windows、Linux、BSD、UNIX、Mac OS/X和任何POSIX兼容的操作系統;

(7)提供命令行方式與數據庫進行交互操作。

(8)支持大用戶量的併發訪問,存儲容量可達256TB;

Berkeley DB XML也是Oracle數據庫產品解決方案的一部分,這一點表明它的可用性及性能上值得信賴。



四個Native-XML數據庫簡單比較

Tamino是個功能強大的商業Native-XML數據庫產品,而且提供圖形界面。缺點是要花錢^_^。eXist和Xindice都是完全用Java語言寫的開源數據庫,eXist更適合用於管理以文檔爲中心的XML數據,Xindice不適合大文檔的處理,它們兩者差不多在內容管理領域都有應用。Berkeley DB XML的功能比較強大,支持Schema驗證是其優點之一。Berkeley DB XML嵌入式數據庫跟應用程序運行在相同的地址空間,因此它既可以支持小的、但用戶應用程序,又支持擁有大量內存和硬盤空間的多處理器計算機上處理數以千計的併發用戶訪問。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章