【云享读书会-数据仓库工具箱】DAY04 零售业务的维度模型设计
概要:
1)零售业务维度设计4步法
2)维度表设计细节
3)事实表设计细节
一、维度模型4步设计法
1)业务过程选择
*通常由某个操作型业务系统支撑
*业务过程建立或获取关键性度量
2)粒度声明
*事实表中的每个行的内容应当如何描述
*最终事实表的粒度与主键应该是等价的
3)确认维度
*who,what,where,when,why and how
*维度的主键选择,以及属性填充
4)确认事实
*业务过程要度量什么
*业务用户关注度量的分析,度量的变化隐含着商机和风险
举例:零售业务场景(零售POS业务)
大型食品杂货连锁店==》
管理关注:订单、库存、产品销售==>最终实现利润最大化
原子粒度:强大的多维性;原子数据与多维方法能够实现最佳匹配
汇总粒度:汇总的级别限制了细节数据访问的可能性;无法实现用户下钻细节
维度:门店、产品、SKU、收银员、促销、日期
事实:销售数量、单价等等
日期维度是数据库分区模式下首先考虑的维度
日历逻辑应当由维度表解决,而不是应用代码
数字值作为维度属性还是事实维度的选择:
1)用于计算目的,用于事实表。
比如:标准价格计算扩展总额,或者标准价格用于价格变化分析
2)如果用于过滤或分组,则应作为维度属性
维度表键:
1)代理键(作用是连接维度表与事实表)
2)自然键(基于操作型代码查询事实表)
3)超自然键/持久键(类似维度代理键,也是简单的整数序列)
4)退化维度代理键(通常不需要给退化维度键分配代理键)
5)日期维度智能键(建议选择日期型)
事实表键
*不要求在事实表中一定适用代理键
抵制规范化的冲动
1)规范化维度的雪花模型
*复杂性有违简单化维度建模的目标
*优化器处理雪花模式会产生大量的join操作,导致查询缓慢
2)支架表
*可以使用,但不推荐大量使用
3)蜈蚣表
*不推荐使用
*每个事实表的维度键控制在20-30个
- 点赞
- 收藏
- 关注作者
评论(0)