邏輯架構層級
Instance (實例)
└─ Database (資料庫) × N
└─ TableSpace (表空間)
└─ Container (容器) → 物理檔案/裝置/目錄
- 實例:作業系統層級的 DB2 服務進程集合,一台主機可運行多實例(不同於 Oracle 單實例)。
- 資料庫:定義於實例內,擁有獨立系統目錄,彼此隔離。
- 表空間:邏輯儲存單位,分 SMS(系統管理)與 DMS(資料庫管理)兩種模式,建立後不可互換。
- 容器:物理儲存對應,DMS 用檔案/裝置,SMS 用目錄。
預設三大表空間
| 名稱 | 用途 | 預設模式 |
| SYSCATSPACE | 系統目錄 | SMS |
| TEMPSPACE1 | 系統暫存表 | SMS |
| USERSPACE1 | 使用者資料 | SMS |
表空間類型
- 系統目錄表空間(必備)
- 系統暫存表空間(必備)
- 使用者表空間(存放一般表)
- 使用者暫存表空間(存放宣告式暫存表)
效能關鍵因素與優化策略
- 磁碟 I/O(90% 瓶頸):採用多顆小容量實體磁碟分散 I/O,資料與索引置於不同表空間/磁碟,大表垂直拆分配合 View 聯合。
- 記憶體:物理記憶體足夠 + 關鍵參數調校(
BUFFERPOOL、SORTHEAP、LOCKLIST)。
- CPU:多核心加速複雜查詢。
- 網路:非主要因素,但頻寬不足影響傳輸。
關鍵記憶體參數
BUFFERPOOL:所有物件共用緩衝池,頁大小 4K/8K/16K/32K。
SORTHEAP:私有排序堆疊,不可設太大,否則並發交易易耗盡記憶體。
LOCKLIST:鎖清單大小。
裸裝置與臨時表空間
- 裸裝置繞過檔案系統,直接由 DB2 管理,減少開銷。
- 系統暫存表空間放置於最快磁碟(內軌),頻繁溢寫時效能影響最大。