什麼是聚集目標表?
- **唯讀表**,以 SQL 欄位函數(SUM、AVG 等)統計來源表全量或追蹤變更。
- 資料**實際儲存於 DB2**,非 View 虛擬表,歷史快照不隨來源表變更而改寫。
- 類似 View 的彙總功能,但保留**時間序列穩定性**。
前置知識:CD 表(Change Data Table)
- 每個註冊「變更擷取」的來源表對應一張 CD 表。
- 記錄來源表的 INSERT/UPDATE/DELETE 異動明細(含前後像)。
- 應用程式讀取 CD 表已提交列,複寫至目標表。
兩類聚集目標表差異對照
| 維度 | 基本聚集表 | 更改聚集表 |
| 統計來源 | 來源基礎表 | CD 表(變更資料表) |
| 反映內容 | 特定時間點的彙總值(如月有效客戶數) | 期間內的增減變化(如月新增/流失客戶數) |
| 典型用途 | 趨勢分析、KPI 儀表板 | 流失率監控、行銷成效評估 |
| 結構層級 | 兩層:來源表 → 聚集表 | 三層:來源表 → CD 表 → 聚集表 |
| 缺陷 | 無法區分「增減抵銷」情況(如 +5/-5 仍顯示不變) | 依賴 CD 表完整性,額外儲存/維護成本 |
實務案例:客戶主檔
- 基本聚集:每月統計 `AVG(有效客戶數)` → 繪製成長曲線。
- 更改聚集:讀取 CD 表,統計 `SUM(CASE WHEN OP='I' THEN 1 END) AS 新增`、`SUM(CASE WHEN OP='D' THEN 1 END) AS 流失` → 計算淨增率、流失率。
- 企業決策常**同時需要**兩者:基本聚集看大勢,更改聚集找問題。
架構視角總結
基本聚集 = **靜態快照**;更改聚集 = **動態差分**。CD 表充當「過濾器」,只讓異動流向更改聚集。兩者互補,非互斥。