OLTP vs OLAP 儲存哲學差異
傳統 OLTP(線上交易處理)採高度正規化、第三範式設計,優化寫入效能與資料一致性;OLAP(線上分析處理)面對較少使用者但龐大資料量,核心目標是「以最少 I/O 讀取最多相關資料」。因此 OLAP 採用反正規化、星狀綱要,允許冗餘換取查詢速度。
星狀綱要核心結構
- 事實表:中心表,儲存可量測的數值指標(銷售額、數量),外鍵連結維度表。
- 維度表:描述事實的屬性(時間、產品、客戶、地區),通常去正規化、寬表設計。
SQL Server 2000 Analysis Services 實作流程
- 資料來源設定:在 Analysis Manager 建立/管理 ODBC DSN,指向 OLTP 來源資料庫。
- 建立 OLAP 資料庫:右鍵伺服器節點 → 新增資料庫 → 命名與描述。
- 建立多維資料集:資料庫下的 Cubes 節點右鍵 → 新增 Cube → 精靈引導:
- 選擇資料來源、設定 Data Link 連線屬性
- 定義事實表(決定 Cube 粒度與方向)
- 定義維度:啟動巢狀維度精靈,指定關鍵欄位、層級階層
- 選擇儲存模式:MOLAP(多維 OLAP),資料與彙總預先計算存入專屬結構,查詢最快
- 儲存設計精靈:優化分割、彙總設計,提升效能。
- 安全性設定:Cube Roles 定義存取權限。
MOLAP 優勢總結
- 資料與彙總預計算,查詢不需即時掃描明細表。
- 多維結構天然支援切片、鑽取、旋轉分析。
- Analysis Manager 內建瀏覽器可即時驗證結果。
跨平台通用觀念
無論 SAP BW、Oracle OLAP 或 Microsoft,核心皆為:星狀綱要、維度建模、預先彙總、MOLAP/ROLAP/HOLAP 儲存模式選擇。理解本質,工具遷移無障礙。