數據倉庫中的幾種數據模型

數據倉庫中常見的模型有:範式建模,雪花模型,星型建模,事實星座模型.

星型模型

星型模型是數據集市維度建模中推薦的建模方法。星型模型是以事實表爲中心,所有的維度表直接連接在事實表上,像星星一樣。星型模型的特點是數據組織直觀,執行效率高。因爲在數據集市的建設過程中,數據經過了預處理,比如按照維度進行了彙總,排序等等,數據量減少,執行的效率就比較高。

image

 

雪花模型

雪花模型也是維度建模中的一種選擇。雪花模型的維度表可以擁有其他維度表的,雖然這種模型相比星型模型更規範一些,但是由於這種模型不太容易理解,維護成本比較高,而且性能方面需要關聯多層維表,性能也比星型模型要低。所以一般不是很常用。

image

 

範式建模

第三範式建模是在數據庫建模中使用的建模方法,特點是體系化,擴展性好,避免冗餘,避免更新異常。所以,在數據倉庫的EDW層建模中,我們也提倡使用第三範式建模。但是數據倉庫的集成和反映歷史變化的特徵意味着數據量非常之大,表和表之間的關聯效率比較低,所以有些時候完全規範的範式建模並不是最好的選擇,通常我們會選擇非規範化處理,增加一些冗餘的字段來避免表之間關聯的次數,這樣會節約大量的時間。

雪花模型是介於星型模型和範式建模之間的。個人理解,範式建模和雪花模型的區別在於雪花模型在維度上也是有冗餘的。例如雪花模型例圖的地域維度不符合第三範式,因爲地域維度中存在傳遞依賴,城市-省級-國家-地域。

 

星座模型

星座模型是星型模型延伸而來,星型模型是基於一張事實表的,而星座模型是基於多張事實表的,而且共享維度信息。 通過構建一致性維度,來建設星座模型,也是很好的選擇。比如同一主題的細節表和彙總表共享維度,不同主題的事實表,可以通過在維度上互相補充來生成可以共享的維度。

image

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