第二篇: 模式分類

主要有:維度建模、範式建模、Data Vault模型、Anchor模型
維度模型    企業中最流行也是最經典的數倉建模經典。按數據組織類型劃分可分爲星型模型、雪花模型、星座模型。
範式模型    即實體關係(ER)模型,數據倉庫之父Immon提出的,從全企業的高度設計一個3NF模型,用實體加關係描述的數據模型描述企業業務架構,在範式理論上符合3NF。此建模方法,對建模人員的能力要求非常高。
Data Vault模型    DataVault由Hub(關鍵核心業務實體)、Link(關係)、Satellite(實體屬性) 三部分組成 ,是Dan Linstedt發起創建的一種模型方法論,它是在ER關係模型上的衍生,同時設計的出發點也是爲了實現數據的整合,並非爲數據決策分析直接使用。
Anchor模型    高度可擴展的模型,所有的擴展只是添加而不是修改,因此它將模型規範到6NF,基本變成了K-V結構模型。企業很少使用,不多做介紹。


維度模型和關係模型

Kimball(維度模型)和Inmon(ER模型)是目前兩種最主流的建模方法

維度建模法,由Kimball 最先提出這一概念。其最簡單的描述就是:按照事實表、維表來構建數據倉庫和數據集市
範式建模法其實是我們在構建數據模型常用的一個方法,該方法的主要由Inmon 所提倡,主要解決關係型數據庫得數據存儲
範式建模:設計思路自上而下,適合上游基礎數據存儲,同一份數據只存儲一份,沒有數據冗餘,方便解耦,易維護,缺點是開發週期一般比較長,維護成本高
維度建模:設計思路是自下而上,適合下游應用數據存儲,適合統計多層次維度的彙總,開發週期短,缺點是維護成本高
其中多維模型最典型的數據模式包括星型模式、雪花模式和星座(系)模式

 

星型模式(star schema)

星型模式的核心是一個大的中心表(事實表),一組小的附屬表(維表)。所有維度直接關聯在事實表上,且維度表之間無關聯關係,呈星型分佈。星型模式如下所示

 

雪花模式(snowflake schema)

在星型模型的基礎上,維度表上又關聯了其他維度表。這種模型維護成本高,性能方面也較差,所以一般不建議使用。尤其在基於hadoop體系構建數倉,減少join就能減少中間shuffle過程,job性能表現差異會很大。如下圖所示

 

星座模式(Fact Constellation)或星系模式(galaxy schema)

星座模型,是對星型模型的擴展延伸,多張事實表共享維度表。這種模式可以看做星型模式的彙集,因而稱作星系模式或者事實星座模式。如下圖所示:

 

三種數據模式對比

星型模型和雪花模型的優劣對比:

 

三種數據模三種數據模式對比式對比

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