数据仓库的星形和雪花模型
2016-04-10 11:01
288 查看
本文是这篇文章的摘录:
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还建议像最终用户暴露物理的雪花模型不是一个好主意,因为在对模型的理解和运行效率上都会大打折扣。
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还建议像最终用户暴露物理的雪花模型不是一个好主意,因为在对模型的理解和运行效率上都会大打折扣。
相关文章推荐
- HDU 4612 Warm up tarjan 树的直径
- 0001: unable to locate the content swf directory: app:/mod/win
- 源码编译安装apache报APR错及解决方案
- oc新手学习细节之(UIView)动画总结
- LeetCode *** 58. Length of Last Word
- PickerView的开源依赖
- 通过JDBC访问MySql数据库
- 注冊成为Windows Phone开发人员而且解锁Windows Phone 8.1手机
- 关于MYSQL表记录字段换行符回车符处理
- 集合之ArrayList
- 设计模式 (4)类图一
- 《LeetBook》leetcode题解(7): Reverse Integer[E]——处理溢出的技巧
- python核心模块之pickle和cPickle解说
- 冒泡排序
- Java空字符串与null的区别和判断字符串是否为空的方法
- PHP文件处理的高级应用
- 关于 boudingRectWithSize:options:attributes:context 说明
- python 字符串和整数的转换
- 网卡混杂模式
- php输出echo、print、print_r、printf、sprintf、var_dump比较