前言
DB2 9 (代號 Viper) 由 8 國 750 位工程師打造,實現 10 項重大突破。本文深度解析 9 大核心新特性,含 pureXML、Venom 壓縮、自適應記憶體、表分區、LBAC 安全、備份還原增強、自主管理、安裝部署優化與從 Stinger 到 Viper 的自動演進脈絡。
一、pureXML — 原生 XML 無縫整合
- XML 資料類型:階層式儲存規範 XML 文件,不轉 CLOB/BLOB。
- SQL/XML & XQuery:
XMLQUERY, XMLEXISTS, XMLTABLE 標準函數;支援 W3C XQuery 1.0 直接查詢。
- XML 索引:路徑/值/全文索引,大幅提升 XML 查詢效能。
- 程式語言整合:JDBC/CLI/.NET/PHP 等驅動原生支援 XML 讀寫,單一應用同時存取關聯與 XML。
二、應用開發增強
- DB2 Developer Workbench:Eclipse 基礎 IDE,支援預存程序/UDF 建立、除錯、部署、SQL/XML 編輯。
- JDBC 3.0 / SQLJ 驅動:
db2jcc.jar (JDBC 3.0)、db2jcc4.jar (JDBC 4.0)。
- .NET 整合:Visual Studio 2005 Add-ins、原生 XML 資料類型支援、無程式碼建立 Web 服務。
- 64-bit Runtime Client:支援 64 位元運算,可與其他 DB2 產品共存。
三、自動資料庫管理
- 自適應記憶體 (STMM):動態調整緩衝池、排序堆、鎖清單、套件快取等記憶體區,跨工作負載自動平衡。
- 自動儲存:自動擴展資料庫容量 (支援多重分區)。
- 自動統計收集:建庫預設啟用,背景執行
RUNSTATS 維護統計資訊。
- 自動預取/頁清潔器配置:依環境自動調整。
- 表/索引重組新策略:更細緻的自動重組觸發條件。
四、效能與擴展性 (Venom 壓縮等)
- 資料行壓縮:字典式壓縮,節省磁碟、加速 I/O、緩衝池命中率提升。
- 統計視圖:改善複雜查詢存取計畫。
- 自訂腳本加速 LOAD:並行載入大量資料。
- 增強 MQT:更強大的定義、查詢重導向、維護能力。
- 更大 RID:單一物件支援更多資料頁/列,擴展上限。
- 索引鍵值長度 64 欄、8KB 頁面:支援更寬索引。
五、安全新特性
- LBAC (Label-Based Access Control):資料列/欄位級標籤存取控制。
- SECADM 權限:集中管理安全政策、審計、LBAC 標籤。
- CREATE DATABASE RESTRICTIVE:預設關閉 PUBLIC 權限。
- SETSESSIONUSER 權限:控制工作階段使用者切換。
- TRANSFER OWNERSHIP:移轉物件擁有權。
六、表分區 — 大型資料庫管理利器
- 依欄位範圍將表資料分散至多個儲存物件 (分區),可跨表空間。
- 優勢:
• 支援超大表 (突破單一表空間限制)
• 分區級維護 (匯入/匯出/重組/備份) 縮短作業窗口
• 索引可獨立放置於不同表空間
• 資料倉庫快速載入/清除 (ATTACH/DETACH PARTITION)
• 查詢分區裁剪 (Partition Elimination) 避免掃描無關資料
七、備份還原增強
- 重啟中斷還原:節省時間、簡化操作。
- 重導向還原自動產生腳本:減少手工錯誤。
- 從表空間備份重建資料庫:更靈活的復原策略。
八、自主管理效能增強
- STMM 動態回應工作負載變化。
- 自動統計收集背景運行。
- 多分區自動儲存。
ALTER TABLE 線上修改屬性 (無需重建表)。
- 新重組策略選項。
- 複製資料庫配置為模組方案 (模板化部署)。
- 管理 SQL 例程/視圖:以 SQL 介面管理 DB2。
- 動態 FCM 緩衝自動調節 (DPF 環境)。
九、安裝部署增強
- 獨立 CLI 驅動:無需安裝完整 Client 即可部署 ODBC/CLI/.NET/PHP/Perl/Ruby 驅動 (~10 MB)。
- 彈性授權管理。
- 同一機器支援多版本/多 Fix Pack 並存。
- 回應檔關鍵字支援無人值守安裝。
十、從 Stinger (V8.2) 到 Viper (V9) 的自動演進
- STMM、自動統計、自動儲存、自動配置等自主管理能力持續增強。
- 目標:讓 DBA 從繁瑣配置中解脫,專注業務價值創新。
結語
DB2 9 以 pureXML 開啟混合資料模型新紀元、Venom 壓縮重新定義儲存成本、自主管理邁向零管理資料庫。這九大特性相互協同,構建了面向 SOA、海量資料、合規安全的新一代資訊平台核心。