存儲DB2 9 XML 數(shù)據(jù)的作用有哪些?
在關(guān)系數(shù)據(jù)庫中存儲DB2 9 XML 數(shù)據(jù)將會提供一些更為具有可靠性、可管理性以及 RDBMS 的等一些其他的優(yōu)點。但是假如你所采用笨拙的存儲方法,應(yīng)用程序的性能將會出現(xiàn)問題。以下就是正文的主要內(nèi)容描述。
在關(guān)系數(shù)據(jù)庫中存儲 XML 數(shù)據(jù)會提供可靠性、可管理性以及 RDBMS 的其他優(yōu)點。但是,如果采用笨拙的存儲方法(比如分解和 CLOB),應(yīng)用程序的性能就會出現(xiàn)問題。當(dāng) IBM 在 DB2 9 中引入 pureXML 之后兩年,這個問題已經(jīng)解決了。
當(dāng) IBM 在 2006 年推出 DB2 9 時,它的 pureXML 技術(shù)引起了廣泛的關(guān)注。但是,人們并沒有馬上接受 “關(guān)系/XML” 混合型 DBMS 的思想。這種思想的好處很明顯:通過把 XML 引擎和現(xiàn)成的 RDBMS 集成在一起,XML 數(shù)據(jù)可以輕松地合并到數(shù)據(jù)操作中,還可以對 XML 數(shù)據(jù)應(yīng)用關(guān)系系統(tǒng)的許多數(shù)據(jù)管理特性,比如安全性和存檔。
但是,這種做法的性能怎么樣呢?考慮到對象-關(guān)系數(shù)據(jù)庫過去的性能,人們對混合型系統(tǒng)的性能抱著懷疑態(tài)度。
兩年之后,pureXML 的性能影響不僅停留在理論上,而且已經(jīng)在真實環(huán)境中表現(xiàn)出來了。
希望通過DB2 9 XML 獲得什么?
在開發(fā) pureXML 和 DB2 9 的 5 年中,IBM 深入研究了 XML 的性質(zhì)(XML 具有強大的靈活性,同時也非常繁瑣),發(fā)現(xiàn)了需要改進的五個方面。IBM 主要關(guān)注兩個性能因素:存儲模型和查詢優(yōu)化。
XML 數(shù)據(jù)由一個層次化的樹結(jié)構(gòu)表示,通常包含多個層和大量節(jié)點,因此這種格式很難優(yōu)化和編制索引。它還涉及某種形式的壓縮。因此,XML 查詢可能變得非常復(fù)雜。
存儲 XML 數(shù)據(jù)的一種常用方法是字符大對象(CLOB)。與二進制大對象(BLOB)一樣,CLOB 通常作為一個整體存儲,很少為編制索引或查詢優(yōu)化進行預(yù)處理。另一種方法是把 XML 數(shù)據(jù) “分解” 為關(guān)系數(shù)據(jù)的列;這種方法需要復(fù)雜的解析技術(shù),通常使用大量存儲空間。
DB2 pureXML 把 XML 數(shù)據(jù)存儲為經(jīng)過預(yù)先解析的層次化格式,這種格式反映數(shù)據(jù)的底層嵌套結(jié)構(gòu)。這種格式支持編制復(fù)雜的索引,并允許對物理存儲中的數(shù)據(jù)進行壓縮。在執(zhí)行查詢時,pureXML 把 XQuery 和 SQL/XML 查詢轉(zhuǎn)換為一種在多方面(跨語言、查詢重寫、優(yōu)化索引和成本)經(jīng)過優(yōu)化的統(tǒng)一格式。
XML 壓縮、查詢優(yōu)化以及關(guān)系和 XML 處理的混合(在 DB2 9.5 中還改進了插入和更新性能)改進了數(shù)據(jù)庫的處理性能;IBM 的測試和真實項目表明,與 DB2 V8 或其他 DBMS 中的相似操作相比,速度提高了 10 到 20 倍(參見相關(guān)內(nèi)容中 “成功帶來的喜悅”部分)。
更適合DB2 9 XML 的模型
pureXML 的性能特點還包括其適應(yīng)性。要點:XML 數(shù)據(jù)并不會取代關(guān)系數(shù)據(jù)。對于標(biāo)準(zhǔn)的金融業(yè)務(wù),XML 數(shù)據(jù)很難超越關(guān)系數(shù)據(jù)庫,但是 RDBMS 很難處理出版物,比如整本書、雜志或期刊。如果應(yīng)用程序中的數(shù)據(jù)具有復(fù)雜的層次結(jié)構(gòu),或者包含大量非結(jié)構(gòu)化信息,RDBMS 也很難處理。
例如,生命科學(xué)組織正在把許多常用數(shù)據(jù)由各種專有格式轉(zhuǎn)換為 XML。在某些情況下,對于難以在傳統(tǒng) RDBMS 中存儲和提取的數(shù)據(jù),XML 格式提供了優(yōu)化的數(shù)據(jù)訪問路徑,這使 XML 數(shù)據(jù)庫在根本上具有顯著的性能優(yōu)勢。
XML DBMS 還有一個優(yōu)點:它們能夠通過 Web 服務(wù)或其他方法與 XML 應(yīng)用程序直接通信。因為 XML 在因特網(wǎng)上使用廣泛,應(yīng)用程序之間的通信也大量采用 XML 格式,所以讓整個通信鏈(應(yīng)用程序 - 消息 - 數(shù)據(jù)庫)都采用 XML 格式是很有意義的。
IBM 的 pureXML 在技術(shù)方面有許多重要的創(chuàng)新(68 項新專利!),但是 IBM 關(guān)系/XML 模型真正的價值在于它在主流企業(yè)應(yīng)用程序中表現(xiàn)出的性能。
【編輯推薦】
- DB2數(shù)據(jù)導(dǎo)入時哪些事項必須注意?
- 使用DB2臨時表中應(yīng)注意的事項描述
- DB2 9.7的三大武器的作用描述
- DB2文件系統(tǒng)已滿的破解方案描述
- DB2 9.7 兼容Oracle,IBM發(fā)布