1、 数据仓库可以分为几层?
- 数据运营层(Operation Data Store ,ODS):将业务数据库、埋点日志、其他数据源原样存储,不做任何处理;
- 数据仓库层(Data Warehouse,DW):该层主要包含DWD、DWS层,由ODS层数据加工而成,主要是完成数据加工与整合,建立一致性的维度,构建可复用的面向分析和统计的明细事实表;
DWD(Data Warehouse Detail 细节数据层):该层是业务层与数据仓库的隔离层。以业务过程作为建模驱动,基于每个具体的业务过程特点,构建细粒度的明细层事实表。可以结合企业的数据使用特点,将明细事实表的某些重要维度属性字段做适当冗余,也即宽表化处理;
DWS(Data Warehouse Service 服务数据层):基于DWD的基础数据,整合汇总成分析某一个主题域的服务数据。以分析的主题为建模驱动,基于上层的应用和产品的指标需求,构建公共粒度的汇总指标事实表。
- 数据应用层(Application Data Store ,ADS):该层是基于DW层的数据,整合汇总成主题域的服务数据,用于提供后续的业务查询等,例如查询每人每天访问多少次;
2、 数仓分层设计的好处?
- 清晰的数据结构
每一个数据分层都有它的作用域,在使用表的时候能更方便地定位和理解; - 减少重复开发
规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算; - 统一数据口径
- 将复杂的问题简单化
将一个复杂的任务分解成多个步骤来完成,每一层只处理单一的问题,比较简单和容易理解。而且便于维护数据的准确性,当数据出现问题之后,可以不用修复所有的数据,只需要从有问题的地方开始修复。
[1]:参考文献