数据仓库维度模型知识点记录

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档