数据仓库维度模型知识点记录
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.生命周期
a)业务需求定义
i.收集需求
ii.分析业务
iii.数据仓库建立总线矩阵
iv.项目规划
b)维度建模、
i.建模过程
1.标识需要建模的业务过程
2.声明粒度
3.标识和选择维度
4.标识和选择事实
ii.维度表
1.代理键
a)日期维度可以使用20140101这样的智能键,智能键可以用来分区
2.渐变维度
a)SCD1 直接更新
b)SCD2 标记维度的时间作用域,插入新数据,增加新行
c)SCD3 不同的列记录不同时间域的值,增加新列
d)将经常变化属性集合为小维度表
3.退化维度
a)没有对应维度表的非事实属性:类似于订单ID
4.支架维度/引用维度
a)比较类似于雪花模型,例如顾客的生日属性可以链接到日期维度表。
日期维度表就是顾客维度的支架维度
5.多值维度
a)使用桥接表实现
b)事实与维度的多值关系
i.例如订单的为多商户分成,可以通过一个商户分组链接表实现,
订单事实中记录商户分组的ID,分组链接表中分行记录不同商
户的账号ID及其分成
c)维度与维度的多值关系
i.例如用户帐户维度与消费自然人客户维度有多对多关系。因此在
帐户维度表与自然人维度表中加入一个“帐户与客户关系”桥接
表。记录
d)可变层次展示
i.例如职员与职员间隶属关系:可以使用桥接表记录每个职员与其
所有下属之间的隶属距离和其下属的直接上司,就可以层次化的
表示出职员之间关系
6.角色扮演维
a)例如下单日期维度和退款日期维度都是通过视图链接到日期维度表,
这两个维度都是角色扮演维。
7.杂项维度
a)慎用杂项维度
b)将小维度合并组成杂项维度。
iii.事实表
1.事务型事实
2.周期快照事实
3.累计快照事实
4.没有事实的事实
a)例如用户登录行为事实,其只有维度没有度量,那么添加一个值永远
为1的login_cnt字段为度量,方便sum
5.面向状态的事实表
a)例如帐户余额其实对应了一个具体的自然人,在自然人的地理位置变
化后,该自然人维度会有SCD 2的转换,可能代理键从1 – 2.帐户余
额需要做一个SCD 2的转换,将自然人维度引用该为2.其实是为了查
询任意时间点,某个地理位置的帐户余额总和
c)物理设计和ETL开发
i.源数据探查
1.出具数据剖析表来记录字段的类型,数据分布等
ii.子系统
1.提取
a)数据剖析:KETTLE有插件datacleaner实现
i.NULL值判断
ii.字符串匹配
iii.数值分布报表
iv.正则表达式匹配等
b)更改数据捕获系统:KETTLE
c)提取系统:KETTLE的INPUT节点的功能
2.清理和一致化:KETTLE已经实现
a)数据清洗
i.转换数据类型
ii.重命令列等
b)数据检验
i.Kettle提供了流读取功能来验证数据是否错误
1.取值范围是否合规
2.关系完整性是否存在
3.是否符合状态机规则(例如没有支付日期时就不应该有支付
状态)
4.一般依赖约束:例如派生列和其父列是否满足约束
c)错误事件模式:KETTLE的错误流节点
i.过程错误:trans step等出错
ii.数据校验错误
iii.过滤器错误
iv.一般步骤错误
v.ETL工具箱中描述的错误事件数据分析表能够起作用
d)审核维度汇编器:KETTLE通过统计节点实现
i.审计事实细节:数据从哪里来,什么时候加载,在那个服务器上
加载
ii.数据质量指标:读取了多少记录,过滤了多少记录
iii.ETL工具箱中提供了审计维度的模型
e)重复数据删除:KETTLE的删除节点
f)一致化系统:KETTLE的LookUp映射节点实现
3.装载和发布
a)渐变维度处理
b)代理键生成
c)层次结构管理
d)事实表的管理
e)都可由KETTLE现有节点或者组合不同节点实现
4.管理
a)任务调度系统:KETTLE有简单实现
b)备份系统:没有
c)版本控制系统:没有
d)排序系统:KETTLE有
e)谱系和依赖关系分析:KETTLE可以通过插件实现。
f)监控系统:KETTLE有简单的免费功能版监控
d)主数据管理
i.模型资源管理
1.类似于UML的模型管理
2.增加了各实体及属性的版本控制
3.实现
a)实体表:用来保存各个实体
b)属性表:用来保存各实体的属性及其各版本对应信息,更改时间等
c)关系表:用来保存各实体间关系
4.用于解决类似于表扩散的问题
e)元数据管理
i.过程元数据
1.ETL系统的开始、结束时间,CPU使用率,内存使用,处理数据行数等统
计数据
2.筛选和审计结果
3.数据库或者表使用信息
4.报表查看次数、系统调用次数等
ii.技术源数据
1.源数据系统描述:例如连接方式,账号、密码等
2.ETL调度依赖关系等
3.数据库中元素描述:例如mysql 中的元数据
4.OLAP聚集的定义
5.报表的定义
iii.业务元数据
1.数据筛选说明
2.数据字典
3.ETL MAPPING