2016年10月7日 星期五

線上分折設計概念(OLAP Concept)1

如何設計OLAP的資料表

  1. Transaction Tables(事實資料表設計)
  2. Master Tables(維度資料表設計)
  • 星狀結構(Star Schema)
  • 雪花狀結構(Snowflake Schema)
  • 緩時變維度(Slowly Changing Dimension)

Transaction Tables(事實資料表設計)
1、從商業流程中收集有價值的量值資訊資料表
2、因資料筆數很大,盡量精簡欄位數目與大小
3、包含下列欄位類型
  • 連接到維度的外部索引鍵(Foreign keys)複合鍵
  • 可供計算且有興趣的數字量值(Measures)
  • 其他資料(Metadata and lineage)

4、可定義事實最下階顆粒度(granularity)
5、主要索引鍵非完全必要,可能省略,主要索引鍵可加快查詢速度、卻降低資料轉入資料表的速度

事實資料表的外部索引鍵
資料整理到可直接查詢,反正規化
  1. 外部索引鍵可確保維度資料表與事實貢料表之間的完整性
  2. 為了轉資料的效能考量,常常省略不定義
  3. 描述商業實體或時間,如客戶、產品、員工、日期等
  4. 常常用於分析的分類或條件
  5. 包含內容文字敘述與數字的屬性,如產品名稱、單價等
  6. 可將多個資料組織成多層次結構(如年、季、月)
星狀維度資料表結構的優點(Star Schema)
  1. 轉換正規化的多資料表模型成為單一個資料表簡單模型
  2. 較少用Table-join,享受較高效率的查詢速度
  3. 使用一致的模型技術,被多數商業智慧工具採用
  4. 從非IT人員使用者而言,較容易了解
  5. 資料倉儲的設計較為簡單,維護成本較低
星狀維度資料表結構優點(Star Schema)
  1. 轉換正規化的多資料表模型成為單一個資料表簡單模型
  2. 較少用Table-join,享夷較高效率的查詢速度
  3. 使用通用一致的模型技術,被多數商業智慧工具採用
  4. 從非IT人員使用而言,較容易了解
  5. 資料倉儲的設計較為簡單,維護成本較低
雪花狀維度資料表(Snowflake Schema)
  1. 多層次結構的維度是由多個資料表組合而成
  2. 針對不同的事實資料表,可以支援不同的顆粒度
  3. 當資料來源不是同一個地方時,ETL較容易設計
  4. 一般的查詢會較慢
定義維度階層(Hierarchies)
優點
  1. 可以查看不同層級的加總數字
  2. 可以下鑽(drill down)和合上(drill up)
導入方式
  1. 反正規化以後的星狀式維度
  2. 正規化的雪花狀維度
  3. 自己關連的父子式維度
  4. SSAS都有支援
定義維度的索引主鍵(Primary Keys)
判斷唯一性、關連到事實資料表的外部索引鍵

  1. PK
  2. FK
  • 結合多個資料來源時
  • 多個鍵值合併成一個
  • 可以追蹤維度的歷史變化或版本
  • 讓事實資料表寬度縮減
緩時變維度(SCD)

  1. 支援資料倉儲所扮演角色,"讓歷史紀錄能確實保存與應用"
  2. 有三種類型
  • 覆蓋目前的維度資料
  • 新增一筆新版的維度資料(較常使用)
  • 透過欄位保存有限的歷史資料

沒有留言:

張貼留言