數據倉庫數據模型的設計

數據倉庫數據模型的設計

1.方法選擇


數據模型是對現實世界數據特徵的抽象,數據模型的設計方法就是對數據進行歸納和概括的方法。目前業界主要的模型設計方法論有兩種,一是數據倉庫之父 Bill Inmon 提出的範式建模方法,又叫 ER 建模,主張站在企業角度自上而下進行數據模型構建;二是 Ralph Kimball 大師倡導的維度建模方法,主張從業務需求出發自下而上構建數據模型。

大數據環境下,業務系統數據體系龐雜,數據結構多樣、變更頻繁,並且需要快速響應各種複雜的業務需求,以上兩種傳統的理論都已無法滿足互聯網數倉需求。在此背景下,數據倉庫採取了「以需求驅動爲主、數據驅動爲輔」的混合模型設計方式,來根據不同的數據層次選擇模型。主要從以下四個方面綜合考慮:

  1. 面向主題:採用範式模型理論中的主題劃分方法對業務數據進行分類
  2. 一致性保證:採用維度模型理論中的總線結構思想,建立統一的一致性維度表和一致性事實表來保證一致性
  3. 數據質量保證:無論範式建模還是維度建模都非常重視數據質量問題,綜合使用兩個理論中的方法保證數據質量。
  4. 效率保證:合理採取維度退化、變化維、增加冗餘等方法,保證數據的計算和查詢效率。


其中,ODS 選擇保持貼源的範式模型,不做進一步模型抽象,只是從節省存儲角度考慮,對該層採取拉鍊處理。DWD 與 DWS 基於對構建成本、性能,易用性角度的考慮,主要採取維度模型和一些寬表模型。寬表模型的本質是基於維度模型的擴展,對整個業務以及全節點信息進行垂直與水平方式整合;同時採用退化維度的方式,將不同維度的度量放入數據表的不同列中,實現業務全流程視圖的構建,來提升寬表模型的易用性、查詢效率,且易於模型的擴展


水平整合:水平整合就是將同一業務多數據源的數據整合到一個模型中,如果多數據源業務數據存在交集,則需要按照預設的業務規則選取一份保留,避免整合後的業務數據交叉。例如商品數據如果未進行主數據管理,不同業務線的商品信息就會散落在各業務系統表中,無法滿足企業級的數據分析需求,這時就需要將這些商品數據按照業務主題進行水平整合。

 

垂直整合:一次完整的業務流轉通常要經歷多個環節,各節點信息產生的時點不同、儲存的數據表不同。垂直整合就是將同一業務中各關鍵節點信息整合至業務全流程寬表模型中。訂單交易模型的構建就採用了這種方式,下文將進行詳細介紹。

2 設計目標


數據倉庫在模型設計上以準確性、易用性、及時性爲設計目標,以滿足業務人員對數據的多樣需求。

  1. 準確性:數據質量管控要在建模過程中落地,爲數據準確性保駕護航。
  2. 易用性:兼顧模型的可擴展性和可理解性。
  3. 及時性:充分考慮模型的使用效率,提供方便快捷的數據查詢和數據計算服務。

 

 

 

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