(Chapter2 Kimball 维度建模技术概述)
一、基本概念
- 开始维度建模前,**必须先熟悉业务!**了解实际的问题,和要解决的问题。例如:关键性指标、商业竞争问题、决策制定过程、支持分析需求等目标。和源数据专家交流,构建更高层次,容括率更大的数据体量的维度。
- 维度模型,必须给经验丰富和专家来负责,不应该由不懂业务的人来设计!否则后果不堪设想!
二、维度建模四个步骤
- 选择业务过程
- 声明粒度
- 确认维度
- 确认事实
设计组:确定表名、列名、示例阈值、业务规则
**业务数据管理代表:**参与详细的设计活动、确保涵盖完整业务
三、步骤一 - 业务过程
根据不同的业务过程,建立或获取性能的度量,并转换成事实表中可能存在的事实。限定关注某一业务过程,穿插业务过程会导致混乱,需要进行对粒度、维度、事实的定义。
三、步骤二 - 粒度
声明粒度是维度设计的重要步骤。粒度用于确定事实表中’行’。在维度建’维度步骤前’必须先声明粒度,作为先驱。维度和粒度必须保持一致,保证BI的易用性和性能。应更关注原子粒度的设计,拒绝混用粒度。
三、步骤三 - 描述环境的维度
业务过程会涉及到“谁、什么、何处、何时、为什么rainblow_mmsl、如何”,等组合成为维度表。维度可被用于过滤和分类事实,常被用作业务分析的入口和标识。数据管理和维度表,是数据开发的关键点
四、步骤四 - 用于度量的事实
从业务过程衍生产物,度量!通常以数值作为表示。一个事实中,粒度+度量=事件,形成一对一的关系。为最小可观察事件。但事务中,粒度必须一致,不可出现销售产品事实表中出现销售员工资的情况。
五、步骤五 - 星型模型和OLAP多维数据库
星型模型:部署在关系型数据管理系统(RDBMS)之上的多维结构,包含事实表,维度表,及两者关联关系的主键/外键
OLAP多维数据库:多维数据库之上的多维表结构,类似星型模型。维度表,事实表。优势在于支持使用XMLA、MDX等,通常为部署维度DW/BI系统的最后步骤
六、步骤六 - 方便的扩展到维度模型
1.事实与事实粒度一致时,可以只接创新列
2.建立新的外键列,关联已存在的事实表(维度列与事实表粒度一致)
3.可以在维度表只接添加新列属性
4.事实表更原子化,方法是在维度表上新增属性,并以更细的粒度重置事实表。