數據倉庫建模 — 星型模式
Example of Star Schema
數據倉庫建模 — 雪片模式
Example of Snowflake Schema
- 節省存儲空間
- 一定程度上的范式
星形 vs.雪花型
- Which one is better?
- 長期以來的爭論
- 兩種觀點各有支持者
- 爭論在繼續……
- 目前看來,大部分更加傾向於星型
支持星形維度的論點
- 事實表總會是很大的,在維度表上節省的空間相對來說是很小的
- 增加了數據模型的復雜度
- 查詢操作概念上更復雜了
- 從數據倉庫到多維數據庫的加載時間會更長
- 因此,只有當維度表極大,存儲空間是個問題時,才考慮雪花型維度
- 簡而言之,最好就用星型維度即可
支持雪花型維度的論點
- 從數據倉庫到多維數據庫的加載過程中,雪花型維度的效率更高;
- 雪花型維度描述了更清晰的層次概念;
- 只有當最終用戶可能直接訪問數據倉庫時才考慮星形(而這是不被建議的);
我的個人經驗
- 星形結構效率上優於雪花型;
- 多數情況下,我會選擇星型,但是不排除使用雪花型的情況;