主要讨论的概念如下
1. 维度模型设计的4步过程
2. 事实表粒度
3. 事务类型事实表
4. 可加、不可加以及抽取的事实
- 维度属性,包括指标、数字话描述以及多层次
- 日历日期维度,加上当天时间维度
- 因果维度,例如:促销维度
- 退化维度,例如:交易数据号码
- 维度模型中的空值
- 维度模型的可扩展性
- 无事实的事实表
- 代理键,自然间,持久键
- 基于雪花模式的维度属性
- 包含太多维度的蜈蚣事实表
维度模型设计的4步过程
维度模型设计的4步过程第一步:选择业务过程
通过业务对业务需求以及可用数据源的综合考虑,了解需求,分析需求背后的业务过程,决定对那个业务过程开展建模工作。
关注最为关键、最易实现的用户业务业务过程。最易涉及一系列的考虑,包括数据可用性与质量,以及组织的准备工作等。
第二步:声明粒度
以最低的原子粒度处理数据。原子粒度具有强大的多维性。可以适应商业用户比较随意的查询请求
尽可能最细粒度来处理数据,不是因为需要查询单独的某行,而是因为查询需要非常精确的方式对细节切分
第三步:确定维度
详细的粒度说明了确定了事实表的主要维度。然后可以将更多维度增加到事实表上,只要这些额外的维度自然承担主维度合并的某个值。如果附加的维度会产生与粒度不符的其他事实行,则取消该维度或者重新考虑粒度声明
第四步:确定事实
1,可加事实。我们可以尝试将这类事实物理存储。存储就意味可以能和ETL过程保持一致性。
2,不可加事实。例如利润率,他不能从任何维度被汇总。单价是另外一种不可加事实。
3,事务事实表。表示事务型业务过程具有以下特征:
原子事务事实表的粒度可在事务环境下被简洁地描述,例如,每个事务一行或者每个事务线一行。
此类事实表记录的是一个事务过程,通常比较稀疏,但是又可能回很庞大,数亿行,甚至更多
事务事实表趋向多维化
事务事件返回的度量通常是可加的,只要它们通过数量来扩展,而不是获取单位来度量。
小结:
维度设计4不过程的关键输入在设计之初,估计事实表的行数是非常有必要的。作为设计者始终通过多角度测量来确定计算是否合理。
历史文章
数据仓库-概述-读书笔记一
数据仓库-DW/BI架构对比-读书笔记二
数据仓库-事实表/维度表技术-读书笔记三
维度处理-数据仓库-读书笔记(四)
数据仓库-高级事实表技术-读书笔记五
数据仓库-高级维度表技术-读书笔记六
参考资料
数据仓库工具箱
如果您觉得我用心了,觉得您有所收获,麻烦关注下我吧,您的关注就是我的动力,因为有你,我就不是一个人在前行。
数据僧微信公众号
网友评论