基本概念
数据仓库总线矩阵
总线矩阵是一个二维表格,每一行对应一个业务线,每一列对应一个维度,每一个交叉点对应了业务和维度的联系
时间维度 | 客户维度 | *维度 | *维度 | *维度 | |
---|---|---|---|---|---|
*数据 | ✔️ | ✔️ | ✔️ | ✔️ | |
*数据 | ✔️ | ✔️ | ✔️ | ||
*数据 | ✔️ | ✔️ | ✔️ |
数据仓库模型
-
星型模型☆
是一种非正规化的结构,每一个维度都直接与事实表相连接,存在冗余数据,为了提高查询速度和数据易用性。
-
雪花模型❄️
是一种规范化的结构,维度表之间还会有关联关系,数据没有冗余,会导致查询效率和使用成本提高。
我们在业务分析时使用雪花模型,最终存储到数据仓库中的是星型模型。
事实表
事实表由度量值和维度值组成,度量值反应了该业务过程涉及的数字指标,维度值反应了该业务过程的维度信息。
粒度
原子粒度,聚集事实表。
一定要从原子粒度开始设计。
事实表中的度量值
-
可加事实
可以按照与事实表关联的任一维度进行汇总,例如收入。
-
不可加事实
不能按照任意一个维度汇总,只能作为筛选条件,例如比率。
有些不不可加事实可以通过存储可加事实,汇总后再计算得出。
-
半可加事实
只能按照特定的维度进行汇总,例如库存,可以按照仓库来汇总,但是不能按时间汇总
事实表中的维度
存储外键关联维度
退化维度(DD, Degradation dimension)
维度表
维度表对应了一个维度,它会包含多个属性值,这些属性值有些是有层次意义的。
键
-
主键(PK, Primary Keys)
唯一确定一条数据,维度表的每一行都有一个主键。
-
自然主键(NK, Nature Keys)
是业务上一条数据的唯一标识,不要直接作为主键,应该使用代理主键。
-
代理主键(surrogate keys)
相对于自然主键得名,通常使用顺序数字。
-
外键(FK, Foreign Keys)
用作关联的建,事实表中存储维度表的主键作为事实表的外键。
建模步骤
-
选择业务过程
将业务过程转化为一个事实表
-
声明粒度
从原子粒度开始设计,逐步汇总,可以保证不可加事实的不丢失
-
确定维度
事实表中哪些是维度,维度包含什么属性
-
确定事实
事实表中哪些是实时,事实类型
数据仓库分层
ODS层
Operational Data Store,数据运营层。从其他业务系统抽取的数据,直接存储。
DW层
Data Warehouse,数据仓库层,内部又划分为3层。
-
DWD层
Data Warehouse Detail,数据明细层。
保持和ODS同样的粒度,提供一定的数据质量保证。
-
DWM层
Data WareHouse Middle,数据中间层。
对数据进行轻度聚合,生成一系列中间表。
-
DWS层
Data WareHouse Servce,数据服务层。
又称数据集市或宽表,生成的字段较多,用于OLAP分析等。
DIM层
维度表
应用层
服务特定的应用,复用性不强,存储在响应速度较快的存储引擎。例如报表数据。
网友评论