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


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

星型模型

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

image

 

雪花模型

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

image

 

范式建模

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

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

 

星座模型

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

image


免責聲明!

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



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