資料庫發展歷經四十年,從階層式(IMS)到關聯式(RDBMS)為主流。然而過去二十年,IT 環境劇變:Internet 普及、系統互聯互通、Web 2.0 與服務導向架構(SOA)興起,帶來三大核心挑戰:

XML 以自描述標籤、樹狀階層結構,天然解決複雜性、可讀性與擴展性問題,並模糊結構化與非結構化資料界限。物件導向技術則推崇以物件而非表思考資料,階層結構是物件最自然表達。但早期物件資料庫缺乏 SQL 介面,未獲市場青睞。XML 標準(XQuery, SQL/XML)成熟,為新一代資料庫創新奠基。

企業在 RDBMS 投資高達兆美元,單純替換為純 XML 儲存不現實。結合關聯與階層兩種模型的混合資料庫成為必然。IBM DB2 9 首創 pureXML 技術,真正整合關聯引擎與階層引擎。
傳統關聯資料庫支援 XML 通常採用:

pureXML 採用解析後的註釋樹(類 DOM)儲存 XML,與關聯資料分離,保留階層結構。混合引擎頂層為雙語查詢編譯器(SQL + XQuery),支援 XQuery、XPath、SQL、SQL/XML 混合查詢,開發者可依需求選擇最適語言。

XML 以節點為粒度儲存,每頁可包含多文件節點,節點互連父/子/同級,遍歷極快,無需重寫整份文件即可增刪改節點。
支援 XPath 子集為基礎的 XML Value Index,直接指向文件節點位置,避免全文件掃描,支援跨文件聯結,預設值自動填充。
XQuery/XPath 直接嵌入引擎,SQL 與 XQuery 編譯為同一中間表達,經統一重寫最佳化,產生最優執行計畫。可在單一陳述式混合 SQL 與 XQuery,實現強大搜尋。


DB2 pureXML 開啟混合資料庫新紀元,不僅提供高效 XML 儲存,更賦予雙重建模能力。隨著 XML 標準深化與 Web 2.0 發展,此技術將廣泛滲透各系統。關聯與階層技術在循環中升華,IBM 讓我們對新一代混合資料庫充滿期待。