凡事应该尽量简单,直到不能再简单为止。
维度建模简介
一、用于度量的事实表
1.应该尽量将来源于同一个业务过程的底层度量结果存储于一个维度模型中。
2.事实表中的每一行对应一个度量事件。每行中的数据是一个特定级别的细节数据,称为粒度。
物理世界的每一个度量事件与对应的事实表行具有一对一的关系,这一思想是维度建模的基本原则。
3.事实表包含多个外键,外键集合成主键,所以事实表的主键常称为组合键。
二、用于环境描述的维度表
1.数据仓库的好坏直接取决于维度属性的设置。
2.每个维度表由单一主键定义,用于在与事实表连接操作时作为参照完整性的基础。
3.维度表通常以层次关系表示。
4.关注维度表的简单性和可访问性,不需要满足第三范式,也尽量减少雪花模式。
三、维度表与事实表的连接
1.每个业务过程包含事实表,围绕事实表的是多个维度表,采用星形连接。
2.粒度最小的数据或原子数据具有最多的维度。
Kimbal的DW/BI架构
1.数据清洗
消除拼写错误、解决领域冲突、处理错误的元素、解析为标准格式等。
2.建立维度表
代理键分配、查找代码以提供适当的描述、拆分或组合列以提供适当的数据值、连接满足第三范式的数据表成为扁平的不满足规范化要求的维度等。
怎样去实施维度模型
根据企业的所有业务过程,以及相关的主要的描述性维度数据。构建出企业数据仓库总线矩阵。
1.模型中必须包含详细的原子数据。
2.必须使用公共的、一致性的维度建立维度结构。
3.对组织业务过程的彻底理解是提高效率和随后的可执行的基础,优先处理具有最大影响和可行性最高的业务过程。
4.健壮的维度是建立健壮的DW/BI系统的基础,考虑描述业务的中心名词,针对这些名词开发一致性维度。