搭建數據倉庫第06篇:邏輯建模–3–維度建模核心之總線架構


目錄

  • 前言
  • 維度建模
  • 星型模型
  • 小結

 

 

前言

 

維度建模是Kimball提出來的經典的數據倉庫建模思想。維度建模提倡針對某一主題,通過建設維度和事實來快速建設數據倉庫。與維度建模相對應的自然是Inmon的范式建模。在上篇也提到范式建模非常適合應用於中間明細層的建設,那么在DW/DM層為什么選擇使用維度建模呢?這是第一個問題。維度建模的核心是總線架構,一致性維度,一致性事實。本篇的主題是總線架構,那為什么說維度模型是總線式架構?本篇通過維度建模和星型模型的講解來分別解釋這兩個問題。

維度建模

 維度模型之所以被選擇在DW/DM層上來實現,是因為維度建模的如下特點:

  • 易用性。數據倉庫的目的是DSS,即決策支持系統(Decision Support System ,簡稱DSS),既然面向的的是分析用戶,那么數據越容易理解,越能受用戶歡迎,而維度建模包含具有描述特性的維度表可以讓用戶很容易理解數據,而不像范式建模,由於太過規范化而導致用戶對數據的理解有一定的難度,需要對業務的很深很細的了解。
  • 性能高。通過數據的處理,排序和整合,構建出來的維度表,不僅能夠讓用戶很方便的理解數據,使用數據,而且在計算所需要的數據的時候,不需要關聯太多的表,從而使得計算的性能很高。
  • 擴展性。具有非常好的可擴展性,以便容納不可預知的新數據源和新的設計決策。可以很方便在不改變模型粒度情況下,增加新的分析維度和事實,不需要重載數據,也不需要為了適應新的改變而重新編碼。

星型模型

 提起維度建模就不得不提星型模型和雪花模型之爭,具體兩種模型是什么,之前已經討論過了http://www.cnblogs.com/benchen/p/6011721.html,而且網上也很容易找到,這里就不再贅述。在Kimball的理論中,星型模型備受推崇。原因有以下幾點吧。

  • 星型模型更具有易理解性,畢竟維度模型都是直接掛在事實表,沒有額外的關聯,所有的維度信息都匯集在維表中了。
  • 星型模型性能更高。只需要一次的關聯就能獲取這一維度的所有描述信息。
  • 冗余程度要更高,所有有層次關系的維度,都被設計成扁平化,有一定的冗余。但是維度表的冗余相比事實表畢竟不是一個數量級的。鑒於上面的兩點,更多的偏愛於星型模型。

星型模型是針對的單一事實表的情形,當有多個事實表通過維度關聯在了一起就形成了星座模型。星座模型可以是同一主題單不同粒度的事實表之間的關聯,也可以是不同主題的事實表共用同一維表。畢竟是有全局的一致性維度。

小結

維度建模適合於DW/DM層建模,通過使用維度建模,用戶可以得到很好的效果,只有用戶滿意了,數據倉庫才能實現更大的價值。可以說維度建模的核心是星型模型,星型模型所擁有的特點正是用戶方便使用的根源。

當然維度模型也有着一些缺點,比如數據的一致性很難保證,數據的冗余,大量的維度信息處理等,但這些相對於有點來講都是可接受的,而且也可以通過其他方式避免和簡化的。

以維表為總線,事實表以維表為基礎的總線矩陣,意味着建設出來的架構正是總線式架構。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM