数仓分层的作用
- 清晰数据结构
每个数据分层都有对应的作用域与职责,在使用不同层级表的时候能更方面理解
- 减少重复开发
规范数据分层,通过开发一些通用的数据中间层,极大的减少了开发
- 统一数据口径
通过数据分层,提供统一的数据出口,统一对外输出的数据口径
- 复杂的问题简单化
将一个复杂任务拆解为多个步骤来完成,每个步骤解决特定的问题
数仓通用分层设计
- 数据运营层(ods)
存放的是接入的原始数据,会把不同的业务系统数据聚合在一起,几乎不会做任何数据清洗的工作
- 数据仓库层(dw)
数据明细层(dwd)
该层的数据粒度与ods层保持一致。该层通过数据清洗保障数据质量(如:枚举转化为常量、去除脏数据、字段格式转化等)。通过数据聚合把不同业务线相同主题的数据汇总在一起,生成一张可供大家方便使用的明细表(如:把tob、toc、erp的订单数据聚合在一起)
数据服务层(dws)
又称为数据集市/宽表,按维度划分生成,字段较多的宽表,供后续业务的查询、olap分析等。在电商业务中我们常见的宽表划分有:用户行为宽表、商品宽表、登陆用户宽表等
- 数据应用层(app)
面向业务定制的业务数据
- 维表层(dim)
高基数维度数据,数据量较大(如:用户资料表、商品资料表数据)
低基数维度数据,数据量较小(如:枚举常量、日期维度等)
参考链接:
比较全面介绍数据分层:https://blog.csdn.net/weixin_42656794/article/details/91818113
分层详细解释:https://www.cnblogs.com/hyunbar/p/13180981.html