维度建模技术概述
1.基本概念
-
收集业务需求与数据实现
-
理解业务需求+作为基础的源数据的实际情况
-
与业务代表交流发现需求
-
-
理解关键性能指标、竞争性商业问题、决策制定过程、支持分析需求的目标
-
源数据专家沟通,构建高层次数据分析访问数据可行性
-
-
协作维度建模研讨
-
维度模型应该由主题专家与企业数据管理代表合作设计而成
-
工作由数据建模者负责
-
模型应该通过与业务代表开展一系列高级别交互讨论获得
-
-
维度建模不由那些不懂业务以及业务需求的人来设计
-
-
4步骤维度设计过程
-
选择业务过程
-
业务过程是组织完成的操作性活动
-
获得订单、处理保险索赔
-
-
业务过程事件建立或获取性能度量,并转换为事实表中的事实
-
多数事实表关注某一业务过程
-
过程定义了后续的工作
-
每个业务过程对应企业数据仓库总线矩阵的一行
-
-
声明粒度
-
声明粒度是维度设计的重要步骤
-
选择维度或事实前必须声明粒度
-
从原子粒度开始设计
-
同一个事实表不要混用多种不同的粒度
-
-
确认维度
-
维度表包含BI应用所需要的用于过滤及分类事实的描述性属性
-
掌握事实表的粒度,就能够将所有存在的维度区分开
-
主要工作都放着数据管理与维度表的开发
-
-
确认事实
-
一个事实表行与按照事实表粒度描述的度量事件之间存在一对一关系
-
事实表对应一个物理可观察的事件
-
-
星型模型与OLAP多维数据库
-
方便地扩展到维度模型
-
当事实与已存在的事实表粒度一致时,可以创建新列
-
可以在维度表上通过新列添加属性
-
事实表粒度更原子化=》在维度表上添加属性,然后以更细的粒度重置事实表,小心保存事实表与维度表的列名
-
-
2.事实表技术基础
-
事实表结构
-
发生在现实世界中的操作型事件,其所产生的可度量数值,存储在事实表中
-
事实表行对应一个度量事件
-
包含外键、退化维度键、日期、时间戳等
-
查询请求的目标是基于事实表开展计算和聚合操作
-
-
可加、半可加、不可加事实
-
可加性度量可以按照与事实表关联的任意维度汇总
-
半可加变量可以对某些维度汇总,但不能对所有维度汇总=》差额
-
-
事实表中的空值
-
事实表可以存在空值度量
-
事实表的外键不能存在空值
-
-
一致性事实
-
需要比较或计算不同事实表中的事实,应保证针对事实的技术定义是相同的
-
如果不同的事实表定义是一致的,则这些一致性事实应该命名相同,如果不兼容,则命名不同,以不同的命名用于告诫业务用户和BI应用
-
-
事务事实表
-
事务事实表的一行对应空间或时间上某点的度量事件
-
原子事务粒度事实表是维度化及可表达的事实表,这类健壮的维度确保对事务数据的最大化分片和分块
-
可以是稠密的,也可以是稀疏的,仅当存在度量时才会建立行
-
事实表总是包含一个与维度表关联的外键,也可能包含精确的时间戳和退化维度键
-
-
周期快照事实表
-
每行汇总在某一标准周期,如某一天、某周、某月的多个度量事件
-
粒度是周期性的,而不是个体的事务
-
周期性快照通常包含许多实时
-
-
累计快照事实表
-
汇总了发现在过程开始和结束之间可预测步骤内的度量事件
-
关键步骤都含日期外键
-
-
累计快照事实表中的一行,对应某一具体的订单
-
包含维度、退化维度的外键
-
-
无事实的事实表
-
某些事件仅仅记录一系列某一时刻发生的多维实体
-
某一天中发生的学生参加课程事件,具体课程内容无记录
-
-
-
聚集事实表或OLAP多维数据库
-
简单的数字化上卷操作,目的是提高查询效率
-
聚集事实的构建=》多个原子事实表的汇总
-
-
合并事实表
-
以相同粒度表示的事实合并为一个单一的合并事实表
-
3.维度表技术基础
-
维度表结构
-
每个维度表都包含单一的主键列
-
维度表的主键作为事实表的外键
-
维度表行的描述环境与事实表行完全对应
-
扁平型非规范表,包含大量的低粒度的文本属性
-
操作代码与指示器可作为属性对待
-
最强有力的维度属性采用冗长的描述填充
-
-
-
维度代理键
-
区别于自然键
-
以值1开始
-
-
自然键、持久键和超自然键
-
雇员重新工作,雇员号码可能变更(自然键)
-
数仓为该雇员创建单一键,需要建立新的持久键,雇员号保持持久性,不会发生改变。
-
有时称为持久性超自然键
-
独立于原始的业务系统过程,并从整数1开始进行分配
-
-
-
下钻
-
商业用户分析数据的最基本的方法
-
-
退化维度
-
维度除了主键外没有其他内容
-
发票包含多个数据项
-
常见于交易和累计快照事实表
-
-
-
非规范扁平维度
-
抵制操作型数据库的设计要求
-
简化及速度
-
-
-
多层次维度
-
多数维度包含不止一个自然层次
-
日期
-
财务周期层次从天到周进行划分
-
天、月、年
-
-
位置密集维度
-
多个地理层次
-
-
-
-
文档属性的标识与指示器
-
命名缩写=》解释=》操作码值作为不同的表示不同描述性维度属性
-
-
维度表中的空值属性
-
当给定维度行没有被全部填充
-
使用unkown or not applicable
-
-
-
日历日期维度
-
根据日期、月份、财务周期、日历上的特殊日期进行导航
-
YYYYMMDD 而不是 代理健
-
time-of-day外键
-
-
扮演角色的维度
-
单个物理维度可以被事实表多次引用,每个引用连接逻辑上存在差异的角色维度
-
-
杂项维度
-
事务型商业过程通常产生一系列混杂的、低粒度的标识和指示器
-
3个yes or no=》2 * 2 * 2 +1种形式
-
-
雪花维度
-
当维度表中的层次关系是规范的时,低粒度属性作为辅助表通过属性键连接到基本维度表
-
这一过程包含多维度表层次,建立的多层级结构被称为雪花模式
-
雪花模式查询难度大并且查询性能差
-
-
支架维度
-
维度包含对其他维度的引用
-
银行账户维度可以引用表示开户日期的维度
-
-
4.使用一致性维度集成
-
一致性维度
-
当不同维度表的属性具有相同列名和领域内容时,称维度表具有一致性
-
利用一致性维度属性与每个事实表关联,可将来自不同事实表的信息合并到同一报表中
-
-
缩减维度
-
缩减维度是一种一致性维度,由基本维度的列与行的子集构成
-
当构建聚集事实表时需要缩减上卷维度
-
-
跨表钻取
-
当每个查询的行头包含相同的一致性属性,使不同的查询能针对两个或多个事实表进行查询
-
-
价值链
-
价值链用于区分组织中主要业务过程的自然流程
-
销售商的价值链
-
购买、库存、零售额等
-
-
-
-
企业数据仓库总线架构
-
通过关注业务过程将DW/BI规划过程分解为可管理的模块,通过重用跨不同过程的标准化一致性维度发布实现集成
-
-
企业数据仓库总线矩阵
-
设计并与企业数据仓库总线架构交互的基本工具
-
矩阵的行表示业务过程
-
列表示维度
-
-
总线矩阵实现细节
-
更加粒度化的总线矩阵
-
扩展每个业务行以展示特定事实表或OLAP多维数据库
-
-
机会/利益相关方矩阵
-
替换包含业务功能的维度列规划不同的矩阵
-
确定矩阵点以表示哪些业务功能与哪些业务过程行相关
-
5.处理缓慢变化维度属性
-
类型0
-
原样保留
-
-
类型1
-
重写
-
-
类型2
-
添加新行
-
-
类型3
-
添加新属性
-
-
类型4
-
增加微型维度
-
-
类型5
-
增加微型维度及类型1支架
-
-
类型6
-
增加类型1属性到类型2维度
-
-
类型7
-
双类型1和类型2维度
-
6.处理维度层次关系
-
固定深度位置的层次
-
多对一的一种
-
产品到品牌,再到分类,到部门
-
-
层次级别作为维度表中的不同位置属性出现
-
-
轻微参差不齐/可变深度层次
-
层次深度优先,通常包含3-6层
-
-
具有层次桥接表的层次不齐。。
-
不能替换层次不齐层次、不支持对自身层级结构的共享。。
-
-
具有路径字符属性的可变深度层次
-
在维度中采用路径字符属性,以避免使用桥接表表示可变深度层次
-
7.高级事实表技术
-
事实表代理键
-
作为事实表的唯一主键列
-
在ETL中,用作事实表的直接标识符,不必查询多个维度
-
允许将事实表更新操作分解为风险更小的插入和删除操作
-
-
蜈蚣事实表
-
多对一层次的每层建立不同的规范化维度
-
日期、月份、季度等维度,并将所有外键包含在一个事实表中
-
-
-
属性或事实的数字值
-
将数字值即建模为维度又建模为属性是非常有益的
-
-
日志、持续时间事实
-
累积快照事实表获取多个过程里程碑,每个都包含日期外键并可能包含日期、时间戳
-
流水线步骤包含上百个延迟,根据过程的开始时间点为每个度量步骤存储一个时间延迟
-
-
-
头、行事实表
-
操作型交易系统通常包括事务头指针行,头指针行与多个事务行关联
-
-
分配的事实
-
头指针、行事务数据与对应的事实具有不同粒度这样的情况经常发生
-
头表示货运费用
-
-
-
利用分配建立利润与损失事实表
-
利润方程=收入-开销=利润
-
理想地实现利润方程的事实表应为原子收入事务粒度并包含许多开销项
-
-
-
多种货币事实
-
事实表有一个货币维度用于区分事务的真正货币
-
-
多种度量事实单位
-
某些业务过程需要事实同时以多种度量单位表示
-
将事实以工人的标准度量单位存储,同时存储标准度量与其他度量的转换系数
-
不同用户,不同的转换系数
-
-
-
-
年-日事实
-
商业用户在事实表中通常需要年-日值
-
-
多遍SQL以避免事实表间的连接
-
bi应用绝不应该跨事实表的外键处理两个事实表的连接操作
-
-
针对事实表的时间跟踪
-
事实表粒度
-
事务级别
-
周期快照
-
累计快照
-
-
加入行有效日期、行截止日期和当前行标识
-
-
迟到的事实
-
如果用于新事实行的多数当前维度内容无法匹配输入行的情况
-
8.高级维度技术
-
维度表连接
-
维度表包含其他维度表的引用
-
-
多值维表与桥接表
-
每个与事实表关联的维度都有一个与事实表粒度一致的单一值,单某些情况下,维度存在多个合理的多指
-
健康体检有多个诊断
-
-
-
随时间变化的多指桥接表
-
多值桥接表可能基于缓慢变化2维度
-
-
标签的时间序列行为
-
跨时间范围的客户行为度量称为由这些行为标签构成的一种序列
-
-
行为研究分组
-
有时可以通过多次迭代分析,发现复杂的客户行为
-
通过约束研究组表的列与目标模式中客户维度的持久建,该静态表可当成一种可应用于任何带有客户维度维度模式过滤器
-
-
聚集事实作为维度属性
-
选择聚集事实可以放入作为约束和作为表示报表的目标维度
-
-
动态值范围
-
动态值范围报表由一系列报表行头组成
-
-
文本注释维度
-
与其将自由注释作为事实表的文本度量,不如将它们存储与事实表之外的不同的注释维度
-
-
多时区
-
为在多时区应用中获得通用标准时间以及本地时间,设计双外键
-
-
度量类型维度
-
步骤维度
-
序列过程通常在事务事实表中用不同行表示过程中的每一步
-
-
热交换维度
-
当同一个事实表与相同维度的不同拷贝交替匹配时,可使用热交换维度
-
-
抽象通用维度
-
包含单一通用位置维度而不是关于商店、仓库和客户维度嵌入式的地理属性
-
避免使用抽象通用维度
-
-
审计维度
-
简单的审计维度可包含一个或多个数据质量的基本标识
-
-
最后产生的维度
-
实时系统中,有些维度包含通用位置值
-
9.特殊目的模式
-
异构产品的超类与子类模式
-
银行
-
支票账户
-
抵押贷款
-
商业贷款
-
-
-
实时事实表
-
比传统的夜间批处理过程更频繁的被更新
-
-
错误事件模式
-
数仓中数据质量需要一个综合性系统,管理数据质量通过屏幕或过滤器来实现,用于测试从源系统到BI平台的数据。
-