數倉建模

  • 基本概念:
    • DW (Data Warehouse)
      • 是一個面向主題的(Subject Oriented), 集成的(Integrated), 相對穩定的(Non-Volatile), 反映歷史變化(Time Variant)的數據集合,用於支持管理決策(Decision Making Support)。
    • ODS (Operational Data Store)
      • 是一個面向主題的, 集成的, 可變的, 當前細節數據集合。
      • 用於支持企業對於即時性的, 操做性的, 集成的全體信息的需求。
      • 與數據倉庫(DW)的區別:
        • ODS 是短時間的實時的數據, 供產品或者運營人員平常使用, 而數據倉庫是供戰略決策使用的數據
        • ODS是能夠更新的數據, 數據倉庫是基本不更新的反應歷史變化的數據
        • ODS 做爲數據庫到數據倉庫的一種過渡形式, 與數據倉庫在物理結構上不一樣, 能提供高性能的響應是見, ODS設計採用混合設計方式。
        • ODS中的數據是"實時值", 而數據倉庫的數據倒是"歷史值", 通常ODS中儲存的數據不超過一個月, 而數據倉庫爲10年或更多。
    • DM (Data Mart)
      • 爲了特定的應用目的或應用範圍, 而從數據倉庫中獨立出來的一部分數據, 也可稱爲部門數據或主題數據(subjectarea)。
      • 在數據倉庫的實時過程當中每每能夠從一個部門的數據集着手, 之後再用幾個數據集市組成一個完整的數據倉庫。
      • 須要注意的是在實施不一樣的Data Mart時, 同一含義的字段定義必定要相容, 這樣再之後實施數據倉庫時纔不會形成大麻煩。
  • 基於如下兩套經典理論:數據庫

    • 範式模型數據結構

      • lnmon 提出的集線器的自上而下 (EDW-DW) 的數據倉庫架構。
    • 維度模型架構

      • Kumball 提出的總線式的自下而上 (DM-DW) 的數據倉庫架構。
      • 星型模型(便於OLAP分析), 雪花模型
    • 其餘模型性能

      • Data Vault 模型設計

      • Anchor 模型ci

數倉分層

  • 爲什麼要對數倉分層?作用域

    • 簡化複雜問題
      • 把一個複雜的人物分解成多個步驟來完成, 每一層只處理單一的步驟, 比較容易理解。
    • 使數據結構清晰
      • 每個數據分層都有它的做用域, 這樣咱們在使用表的時候能更方便地定位和理解。
    • 提升數據的複用性
      • 規範數據分層, 經過中間層數據, 可以減小極大的重複計算, 增長一次計算結果的複用性。
    • 隔離原始數據
      • 不管是數據的異常仍是數據的敏感性, 使真實數據與統計數據解耦。
  • 分層結構產品

    img

    • Staging 層io

      • 預處理層, 存儲天天的增量數據, 表和ODS層一致
    • ODS (Operational Data Store) 層基礎

      • 操做數據層, 存儲全部基礎數據, 作簡單的數據清洗
    • DWD (Data Warehouse Detail) 層

      • 數據明細層, 主要是一些寬表, 存儲明細數據。

      • 採用維度退化的方法, 將維度退化到事實表中, 減小事實表和維度表的關聯, 提升明細表的易用性。

    • DWS (Data Warehouse Summary) 層

      • 採用更多的寬表化
      • 針對不一樣的維度進行數據聚合, 按主題進行劃分, 屬於維度建模的範疇。
    • ADS(Application Data Store) 層

      • 偏應用層m 各類報表的輸出。
      • 存放數據產品個性化的統計指標數據, 主要面向前段展示
相關文章
相關標籤/搜索