数仓分层
分层原因
1.复杂问题简单化:
将一个复杂的任务分解成多个步骤完成,每一层只处理单一的步骤。
2.数据结构清晰:
每一个数据分层都有它的作用域,这样在使用表的时候更方便定位和理解。
同时也便于维护数据准确性,当数据出现问题,不用修复所有数据,只需要修复有问题的分层。
3.提高数据复用性:
规范数据分层,通过中间层数据,能极大地减少重复计算。
数仓常用分层结构
1.ods层:
原始数据层,存放原始数据,不做任何处理
2.dwd层:
结构,粒度与ods一致,但进行了清晰,数据质量有保证
3.dws层:
以dwd层为基础进行轻度汇总(一般汇总到日周月,用户等)
4.dm层
统计报表,面向实际需求
维度建模理论下的数仓分层
1.ODS层:如果来源为数据库,一般会遵循范式建模,数据不冗余
2.DW层: 维度建模
i.设计原则:
一致性维度规范:公共层的维度表中相同维度属性在物理表中的字段名称,字段类型,数据内容需保持一致
维度组合与拆分:将业务描述相关性强的字段在一个物理维表实现。
ii.DWD层:
将数据清洗,规范化,加工成面向数仓的基础明细表。在DWD 层会根据维度模型,设计事实表和维度表。
iii.DWS层:
轻度聚合(从ODS或DWD),粒度比明细稍粗
iv.DIM维度层:
大量的维表构成,包括稳定维度维表(如时间)和渐变维度维表(如用户)。
维度表设计的核心是确定维度字段,维度字段是查询约束条件(where)、分组条件(group)、排序 (order),与报表标签的基本来源。同时维度表一般为单一主键,通常比较宽。
3.DM层(APP层):
根据业务需要,由前面数据统计而来的结果,导出使用。
浙公网安备 33010602011771号