數據倉庫的兩種建模方法(範式建模和維度建模)

數據倉庫的兩種建模方法

範式建模

  • Inmon提出的集線器的自上而下(EDW-DM)的數據倉庫架構。操作型或事務型系統的數據源,通過ETL抽取轉換和加載到數據倉庫的ODS層,然後通過ODS的數據建設原子數據的數據倉庫EDW,EDW不是多維格式的,不方便上層應用做數據分析,所以需要通過彙總建設成多維格式的數據集市層。優勢:易於維護,高度集成;劣勢:結構死板,部署週期較長
  • 範式建模應用在EDW層
  • 一個符合第三範式的關係必須具有以下三個條件:
    1. 每個屬性的值唯一,不具有多義性;
    2. 每個非主屬性必須完全依賴於整個主鍵,而非主鍵的一部分;
    3. 每個非主屬性不能依賴於其他關係中的屬性,因爲這樣的話,這種屬性應該歸到其他關係中去。
  • 但是由於EDW的數據是原子粒度的,數據量比較大,完全規範的3範式在數據的交互的時候效率比較低下,所以通常會根據實際情況在事實表上做一些冗餘,減少過多的數據交互。

               

Inmon理論下結構就是:ODS、EDW和DM,也就是貼源層、主題模型層、共性加工層以及集市層。每一個層對應於數據庫下面的模式,接下來依次介紹這四個層:

(1)  ODS(貼源層):即這裏存放的數據與原系統保持一致,將採集公司所有的系統產生的數據以及外部數據(包括合作數據以及爬蟲獲得的數據),將所採集的數據彙總到一起,供EDW和DM使用;

(2)  EDW:這一層分爲兩個,即ADM(共性加工層)和FDM(主題模型層)。其中FDM將從ODS層不同系統不同表的字段進行分類,同一主題的字段都歸爲一類,目前流行的十大主題;ADM是加工一些共性的指標,指標從ODS或者FDM的字段加工來,這層主要供集市層使用;

(3)  DM:數據集市層,這一層是將業務部門所關注的指標進行彙總,形成的數據,不同的業務部門可以形成不同的集市,具體情況可以視情況而定;集市層的架構可以細分爲:基礎層、彙總層和分析層。

這樣的層次結構,雖然層次很清晰,但是如果越靠近底層數據出現問題,那麼就會越影響到後面的;同時時間上做不到實時更新,一邊都是T+1,或者越到後面時效性都可能是T+2/3的情況。因此當我們考慮到我們的應用的場景是否需要考慮時效性的時候,我們也要做出相應的調整。

維度建模

  • Kimball提出的總線式的自下而上(DM-DW)的數據倉庫架構。同樣的,操作型或事務型系統的數據源,通過ETL抽取轉換和加載到數據倉庫的ODS層,然後通過ODS的數據,利用維度建模方法建設一致維度的數據集市。通過一致性維度可以將數據集市聯繫在一起,由所有的數據集市組成數據倉庫。優勢:構建迅速,最快的看到投資回報率,敏捷靈活;劣勢:作爲企業資源不太好維護,結構複雜,數據集市集成困難。
  • 星型模型(推薦)和雪花模型

           

在複合式的數據倉庫架構中,操作型或事務型系統的數據源,通過ETL抽取轉換和加載到數據倉庫的ODS層,然後通過ODS的數據,利用範式建模方法,建設原子數據的數據倉庫EDW,然後基於EDW,利用維度建模方法建設數據集市。

優劣比較

特性 Kimball Inmon
時間 快速交付 路漫漫其修遠兮
開發難度
維護難度
技能要求 入門級 專家級
數據要求 特定業務 企業級

參考文獻:

深入對比數據倉庫模式:Kimball vs Inmon

擴展閱讀:

一般常規的數據倉庫層級結構可分爲:ods、dw(默認爲彙總數據層,也可在細分爲dwd(明細)與dw(彙總)兩層)、dm共三層:

ods層:稱爲接口層或近源數據層,表結構與源系統表結構高度相似,通常在ods層主要會做字段的篩選,枚舉值轉換,編碼統一,異常&缺失數據處理等操作。

dw層:稱爲中間層,按主題建模(域->主題)的明細數據層,數據粒度與ods層一致。

dm層:稱爲數據集市層,集市層是按照業務主題、分主題構建出來的、面向特定部門或人員的數據集合。


維度建模源於Kimball提出的總線式的自下而上(DM-DW)的數據倉庫架構。

特點:

1.模型結構簡單,星型模型爲主;

2.開發週期短,能夠快速迭代;

3.維護成本較高;

範式建模源於Inmon提出的集線器的自上而下(EDW-DM)的數據倉庫架構。

特點:

1.同一份數據只存放在一個地方,因此只能從一個地方獲取,沒有數據冗餘,保證了數據一致性;

2.解耦(系統級與業務級),方便維護;

3.開發週期較長,開發成本較高;

 

當下的數據倉庫模型架構設計中,dw層通常會採用範式建模,並且可以根據實際情況允許存在一些冗餘。dm層通常會採用維度建模,因爲採用維度建模構建出來的數據模型更加符合普通人的認知、易於被普通人所理解,從而有利於數據的推廣使用。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章