DB2 V8.1 核心架構與效能調優筆記
層級概念
Instance (實例) → Database (資料庫) → TableSpace (表空間) → Container (容器)。一個作業系統可運行多實例 (異於 Oracle 單實例)。同實例下不同資料庫完全獨立,擁有各自系統編目表。
表空間管理模式
- DMS (Database Managed Space):一表空間對應一或多容器 (檔案/裝置),指定物理儲存位置
- SMS (System Managed Space):僅指定目錄,DB2 自動管理檔案,無法手動增加容器
模式建立時指定,事後不可轉換。
表空間類型
- 系統編目表空間 (SYSCATSPACE) —— 必須存在
- 系統臨時表空間 (SYSTEMPSPACE) —— 必須存在,動態伸縮
- 用戶表空間 (USERSPACE) —— 建表需求
- 用戶臨時表空間 (USERTEMPSPACE) —— 臨時表需求
容器類型
Files (檔案)、Devices (裸裝置)、Directory (目錄)。裸裝置無需格式化,直接交由 DB2 管理,效能最佳。
效能影響因素優先序
磁碟 (90% 瓶頸來自 I/O 競爭) → 記憶體 (總量與配置參數) → CPU (多核心加速複雜查詢) → 網路 (環境因素)。
效能優化實務建議
- 多塊小容量實體磁碟分散 I/O,優於單塊大容量
- 作業系統與資料庫分離不同實體磁碟
- 採用 DMS 管理模式
- 不同表空間置於不同實體磁碟,資料與索引分離
- 大表垂直拆分至多表空間,視圖聯合查詢
- 使用裸裝置繞過檔案系統
- 系統臨時表空間放置最快磁碟區域 (內軌)
- 資料置於磁碟內軌 (存取速度較快)
關鍵記憶體配置參數 (資料庫級)
bufferpage:所有物件共享緩衝池頁數
sortheap:排序私有記憶體,**不可設太大**,每交易獨立申請,易耗盡記憶體
locklist:鎖清單大小
下篇將繼續探討配置參數調優、監控指標與維護自動化。