1 常见的建模方法
1.1. 星型模型
星型模型是一种多维的数据关系,它由一个事实表和一组维度表组成。每个维度表都有一个维作为
主键,所有这些维的主键组合成事实表的主键。强调的是对维度进行预处理,将多个维度集合到一个事
实表,最终形成一个宽表。如下图所示(事实表):
1.2. 雪花模型
当有一个或多个维表没有直接连接到事实表上,而是通过其他维表连接到事实表上时,就
像多个雪花连接在一起,故称雪花模型。雪花模型是对星型模型的扩展。它对星型模型的维表进一步层
次化,原有的各维表可能被扩展为小的事实表,形成一些局部的 "层次 " 区域,这些被分解的表都连接
到主维度表而不是事实表。如下图所示:
2 数据分层方法
1)ODS层 --数据运营层
ODS(Operational Data Store)层数据是原始业务操作数据,即与采集的原始数据对应,数据经过
初步过虑后存储到ODS层。
2)DW层 – 数据仓库层
DW(Data Warehouse)存储经过清洗后的数据、初步数据聚合后的数据、为业务层需求存储的宽
表数据。
此层分为三层:
DWD(Data Warehouse Detail):存储明细数据,此数据是最细粒度的事实数据。
DWM(Data WareHouse Middle):存储中间数据,为数据统计需要创建的中间表数据,此数据一
般是对多个维度的聚合数据,此层数据通常来源于DWD层的数据。
DWS(Data WareHouse Service):存储宽表数据,此层数据是针对某个业务领域的聚合数据,业
务层的数据通常来源与此层,为什么叫宽表,主要是为了业务层的需要在这一层将业务相关的所有数据
统一汇集起来进行存储,方便业务层获取。此层数据通常来源与DWS层的数据。
3)APP层 – 业务层
存储业务层所需要的数据,如:数据分析、数据查询等。
4)Dimension维度层
存储所有维度数据,通常维度数据会DW层使用,也可能被多个主题库所共用。
如下图所示:
2.1 调用原则
3 数据仓库分层
3.1 空间换时间
通过建设多层次的数据模型供用户使用,避免用户直接使用操作型数据,可以更高效的访问数据。把复
杂问题简单化。讲一个复杂的任务分解成多个步骤来完成,每一层只处理单一的步骤,比较简单和容易
理解。而且便于维护数据的准确性,当数据出现问题之后,可以不用修复所有的数据,只需要从有问题
的步骤开始修复。便于处理业务的变化。随着业务的变化,只需要调整底层的数据,对应用层对业务的
调整零感知。
3.2 分层的价值
1.易维护
清晰数据结构:每一个数据分层都有它的作用域,这样我们在使用表的时候能更方便地定位和理解
2.高性能
数据仓库的构建将大大缩短获取信息的时间,数据仓库作为数据的集合,所有的信息都可以从数据
仓库直接获取,尤其对于海量数据的关联查询和复杂查询,所以数据仓库有利于实现复杂的统计需
求,提高数据统计的效率。
3.简单化
讲一个复杂的任务分解成多个步骤来完成,每一层只处理单一的步骤,比较简单和容易理解。而且
便于维护数据的准确性。
4.存档
记录历史是数据仓库的特性之一,数据仓库能够还原历史时间点上的产品状态、用户状态、用户行
为等,以便于能更好的回溯历史,分析历史,跟踪用户的历史行为,更好地比较历史和总结历史,
同时根据历史预测未来。