1. 程式人生 > >資料倉庫的星形和雪花模型

資料倉庫的星形和雪花模型

本文是這篇文章的摘錄:

http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/10g/r2/owb/owb10gr2_gs/owb/lesson3/starandsnowflake.htm

什麼時候使用雪花模型?

Ralph Kimball,資料倉庫大師,講述了三個例子。對於下面三個例子,使用雪花模型可能是更好的選擇。

1,一個使用者維度表且資料量較大。其中,80%的事實度量表是匿名訪問者,僅包含少數詳細資訊。20%的是可靠的註冊使用者,且這些註冊使用者有較為詳細的資訊,與多個維度表中的資料相連。

2,例如一個金融產品維度表,且這些金融產品有銀行類的,保險類等等區別。
因此不同種類的產品有自己一系列的特殊屬性,且這些屬性並非是所有產品共享的。

3,多個企業共用的日曆維度表。但每個企業的財政週期不同,節假日不同等等。

另外如果有資料量巨大且快速變化的維度表,可以考慮使用雪花模型以減少資料冗餘。

Ralph Kimball 推薦在絕大多數的其他案例中,星形模型是更好的解決方案。雖然在雪花模型中,資料冗餘被降低了,但是另一方面卻需要更多的join。Kimball還建議像終端使用者暴露物理的雪花模型不是一個好主意,因為在對模型的理解和執行效率上都會大打折扣。因此在雪花模型中,使用view等工具向終端使用者暴露整合過的資料是更好的選擇。