《BI那点儿事》数据仓库建模:星型模式、雪片模式
数据仓库建模 — 星型模式
Example of Star Schema
数据仓库建模 — 雪片模式
Example of Snowflake Schema
- 节省存储空间
- 一定程度上的范式
星形 vs.雪花型
- Which one is better?
- 长期以来的争论
- 两种观点各有支持者
- 争论在继续……
- 目前看来,大部分更加倾向于星型
支持星形维度的论点
- 事实表总会是很大的,在维度表上节省的空间相对来说是很小的
- 增加了数据模型的复杂度
- 查询操作概念上更复杂了
- 从数据仓库到多维数据库的加载时间会更长
- 因此,只有当维度表极大,存储空间是个问题时,才考虑雪花型维度
- 简而言之,最好就用星型维度即可
支持雪花型维度的论点
- 从数据仓库到多维数据库的加载过程中,雪花型维度的效率更高;
- 雪花型维度描述了更清晰的层次概念;
- 只有当最终用户可能直接访问数据仓库时才考虑星形(而这是不被建议的);
我的个人经验
- 星形结构效率上优于雪花型;
- 多数情况下,我会选择星型,但是不排除使用雪花型的情况;