第三章 零售业务
一、设计准则
设计开发的维度模型应该表示由业务过程获取的最详细的原子信息
估算事务事实表最大的情况
涉及计算的数据应该放入事实表中,涉及约束、分组和标记的数据应该放入维度表中
关于尚未发生的没有度量结果的事实,建立无事务事实表
二、日期维度
日期维表设计尽可能详尽,列出周几、季度、年份、财务年等
当日时间精确到秒可单独设置维表
三、维度表代理键
维度表的唯一主键应该是代理键而不是自然键
数据仓库中的维度表与事实表的每个链接应该基于无实际含义的整数代理键
好处包括:
1、缓冲操作型系统的变化,如一些值重新分配
2、集成多个源系统
3、改进性能,降低存储空间
4、处理空值、未知条件
5、定位维度变化
也根据情况为退化维度生成代理键
四、雪花模式
雪花模式相对星形模式是规范的,但是它牺牲了易用性和性能
雪花模式节省的空间较事实表的体量而言非常小
当需要获取全面结果时,雪花模式需要连接非常多内容
事实表中维度数量过多时,考虑维度的级联设计,降低事实表与维度表关联的成本
第四章 库存
一、半可加事实
记录静态水平(库存水平、金融账户余额、密度度量)的所有度量针对日期维度及其他可能维度具有非可加性。通常使用平均进行聚集
二、事实表类型
1、事务事实表:业务操作最基本的视图是独立的事物或事物列表。日志表就是一种事务事实。
2、周期快照表:某个业务在某个固定的、可预测的事件间隔内的积累性能。比如一天内用户的行为聚合。
3、累计快照表:具有确定的开始和结束以及在此期间所有中间过程步骤的过程。
三、总线矩阵
总线是一种常见的连结一切的公共结构。
标准化维度和事实的主要套件在整个企业中有统一解释。
总线矩阵纵轴是业务过程,通过矩阵识别的是业务过程而不是业务部门,横轴是公共维度,它提供了潜在的跨过程钻取可能。
机会/利益相关方矩阵将横轴替换为业务功能,可展现哪些业务过程对那些业务功能有需求。
四、一致性维度
1、实现多事实表钻取
订单、销售、库存通过一致性的产品名称连接了起来。
2、包含属性子集的缩减上卷一致性维度
如果缩减上卷维度的属性是原子维度属性的真子集,则缩减上卷维度与基本原子维度保持一致。
这是一个缩减上卷维度的例子。
3、包含行子集的缩减一致性维度
这个维度可能很宽,涵盖了多个方面,能够保持一致性的可能是部分的公共交集。
4、有限一致性
一致性可能会由于业务的区别而较难保证或者难以保证,但是公共维度的一致、整体向一致性发展是有意义的
5、数据治理
针对数据定义、标识、领域值达成一致。
保证数据质量和准确性。
数据安全和访问控制。
五、一致性事实
如果事实与不止一个维度模型关联,那么针对这些事实的基本定义和等式如果针对同一件事情必须相同。
第五章 采购
一、单一事务事实与多事务事实
多事务事实表存在多个业务过程
考虑四个问题以确定是否要设计多事务:用户的分析需求、的确存在多个独特的业务过程吗、多个源系统获取同样粒度的度量吗、事实的维度是什么
二、缓慢变化维
维度不会是一成不变的,尽管缓慢,但属性值仍会随时间发生变化。为了应对这些变化,采用这些方法去应对。
1、类型
(1)重写原值
(2)增加新行,添加维度行生效和结束的日期
(3)增加列,标明新的维度情况
(4)增加微型维度,实质上是对于频繁变化的属性设立变化范围,为范围赋予键值
(5)微型维度+重写,重写的是每个微型维度中的内容,不用增加新行跟踪变化
(6)将原值添加到新行中
(7)既有重写的又有新行的
2、小结
第六章 订单
一、单一维度与多维度表
考虑以下问题以确定做单一维度还是多维度
1、一对一关系或多对多关系实际上就是多对多关系
2、多维度间关系会随着时间发生变化吗
3、单一某个维度非常巨大吗
4、每个维度是否独立地参与其他事实表吗
5、业务认为所有维度应该独立吗
二、审计维度
审计维度本身包含处理事实表行时涉及的元数据条件
第七章 会计
一、维度的属性层次
1、固定深度的位置层次
2、轻微不整齐的可变深度层次
3、不整齐可变深度层次
采用递归指针
第八章 客户关系管理
一、桥接表
当不同属性的数量不断增长超过了适宜范围,并且新属性增加非常频繁时,我们推荐使用桥接表
比如这样的数据有很多键值对,
二、步骤维度
步骤维度来源于位置,考察用户流或产品动向。
第十一章 电信
一、设计评审的一般性考虑
1、业务需求与世纪可用资源的权衡
2、关注业务过程
3、粒度,事实表的粒度是什么
4、统一事实表粒度
5、维度的粒度和层次
6、日期维度
7、退化维度
8、代理键
9、维度解码,维度表中所有标识符都应该有描述性解码
10、共享一致性维度
二、设计评审指导
明确评审范围
会前布置作业
业务至关重要
草拟数据值示例
第十三章 教育
一、无事实的事实表
事实表不包含可度量事实,例如学生选课
对于未发生的情况,如果有需要,应当明确标明
第十五章 电子商务
一、点击流数据存在的问题
1、识别访问者来源
2、识别会话
3、识别回访者
二、点击流维度模型
主要是包含网页、事件、绘画、推荐
第十六章 保险业务
一、需要避免的常见维度建模错误
1、事实表中放入文本属性
2、限制使用冗长的描述符以节省空间
3、层次划分为多个维度
4、忽略对维度变化的跟踪
5、使用硬件解决所有性能问题(从数仓结构、业务上进行解决)
6、使用操作型键连接维度和事实
7、忽视对事实粒度的声明并混淆事实粒度
8、使用报表设计维度模型
9、希望用户查询规范化的院子数据
10、违反事实和维度的一致性要求