搭建数据仓库第07篇:逻辑建模–4–维度建模核心之一致性维度
目录
- 前言
- What一致性维度
- When一致性维度
- Where一致性维度
- How一致性维度
- Why一致性维度
- 小结
前言
上一篇提到了数据仓库建设中的维度建模方法,了解了总线架构的基础是一致性维度。本篇将具体的总结一致性维度的5W问题。
What一致性维度
维度一直是大家所熟知的,但是前面加上了“一致性”之后便成了数据仓库特有的一类维度表,其实一致性维度在表结构和属性都没有本质的区别,有一点的差异是数据仓库的星型模型会使得维度表有一定的冗余。那么一致性体现在哪里呢: 维度共享性。共享性体现在整个平台或整个部门共用维度,而不仅仅只是单纯某个业务单独使用。 一般的维度并没有把共享性作为一个共性的标准。然而在维度建模中,一致性维度将作为重心来做。数据仓库70%的工作量和复杂度是用在构建一致性维度。一致性维度将作用于数据仓库和数据集市甚至是OLAP。
When一致性维度
一致性维度的构建是先于事实表的构建的,但又不是在构建完成一致性维度之后才开始构建事实表,在构建的过程中肯定会有一定的调整。当在构建事实表的时候如果遇到了比较复杂和困难的问题的时候,也要考虑一致性维度构建的是不是合理。
Where一致性维度
90%+的维度表是直接从ODS层进行ETL建设成的,一般都是业务的基本描述信息,这一过程是在数据缓冲区来做,输出在数据仓库DW层的最底部。还有一些维度的信息或者属性需要建立在数据集市的基础上,一般是用来做分析的指标或者标签,这个时候需要用集市层的汇总数据来打维度的标签,比如商户的标签。这样的维度信息需要回传到原有的维度表。
How一致性维度
首先用过对业务过程进行梳理,将业务过程所携带的维度信息整理出来生成总线矩阵。一般情况同属一个价值链的业务过程的维度信息大致相同。然后是针对每个维度逐一审核相关的业务过程,对各个业务过程的维度值进行标准化。之后是对不同的业务的维度信息进行汇总,选择或者生成主键。最后设计维度表,并进行适当的迭代更新。
Why一致性维度
首先是容易管理,一致性维度不仅规范化,而且大大减少维度表的数量。其次是容易使用,同一主题或者实体的维度表单一,容易获取和使用。所有的事实共享同样的维度,容易进行交叉计算。
小结
也许会认为维表都是小表,随便创建没有关系。想想公司里面无穷无尽的维度表出现在你面前的时候,当同一个实体的名字出现在很多很多的维表中的时候,是不是感觉根本不知道这么多维表是干嘛用的,怎么来用的。
一致性维度的建设不仅能够规范化维度模型,大大减少凌乱的维表,而且一旦建设好了一致性维度,那么后面的DW和DM层建设将游刃有余。