SOA 時代的 XML 困境與數據庫的使命
SOA 推高了 XML 需求,但傳統數據庫僅提供兩種妥協方案:
- CLOB/BLOB 整存:查詢需全文掃描,無法利用索引,並發恢復困難。
- 撕碎映射:碎片化存儲導致重組開銷大,Schema 演化極其痛苦。
文件系統管理海量 XML 更缺乏事務、安全、高可用能力。企業急需:XML 作為數據庫原生類型,支持 SQL/XQuery 雙語言透明查詢,元素/屬性級索引,成熟管理工具鏈。
DB2 9:橫空出世的混合型數據庫

核心創新四大支柱:
- 原生存儲技術:XML 列無需預定義 Schema,樹型存儲保留層次結構,單表混存 SQL 與 XML 列,DDL 操作沿用熟悉語法。
- XML 專屬索引:任意元素/屬性/混合路徑建索引,單行可產生多索引項(匹配多節點),全文檢索效能飛躍。
- 雙語言查詢引擎:SQL/XML 與 XQuery 共用語言無關內部表示,享受同一 CBO 優化器(算子重寫、低開銷訪問路徑選擇),新聯接算子與索引技術專為 XML 優化。
- 管理工具全面延伸:Backup/Restore、Import/Export、Control Center、Snapshot Monitor、RUNSTATS、EXPLAIN 全線支持 XML 列,運維體驗零學習成本。
查詢流程與內部架構圖解

客戶端應用可通過 SQL 或 XQuery 同時處理表格與 XML 數據,引擎級組件統一解析優化。

核心特性深度剖析
Native Storage:寬容的 Schema 演化
- 異構 XML 文檔(屬性缺失、結構差異)可共存同一 XML 列,業務變更無需 ALTER TABLE。
- 熟悉的 SQL DDL 創建對象,底層自動採用高效層次存儲格式。
- 單表混合 SQL 與 XML 列,關係數據與文檔數據原子事務一致性保證。
強大的 XML 索引
- 基於 xmlpattern 任意路徑建立,支持元素、屬性、混合路徑。
- 聯合與賦值方法降低同時 I/O 負載。
- 單行多索引項特性(一個文檔匹配多節點)顯著提升全文檢索效率。
拓寬查詢理念:SQL/XQuery 無縫互操作
- 單一語句混合 SQL 與 XQuery,XML 與關係數據互操作透明化。
- 雙解析器生成通用內部表示,共享 CBO 優化成果(算子重寫、訪問路徑選擇)。
- 新 XML 聯接算子與索引技術專項優化運行時性能。
管理支持:熟悉的工具,擴展的能力
- 備份恢復、導入導出原子級支持 XML 列。
- Control Center 可視化瀏覽 XML 表、管理 XML 索引、執行 SQL/XML/XQuery。
- 性能監控設施(Snapshot、RUNSTATS、EXPLAIN)全線擴展,EXPLAIN 可識別 XML 索引使用情況。
主流數據庫 XML 特性對比

結語
DB2 9 確立了「混合型數據庫」新物種:在成熟關係型基礎設施上原生擴展 XML 能力,為企業隨需應變提供核心數據底座。XML 不再是「存儲負擔」,而成為與關係數據同權的第一公民數據類型。