(1)问题现象
使用数仓的最终目的是输出可分析、可进行决策的根据。假设一个项目几百张表都放在数仓中,如果不分层,随着业务的发展,表会愈发杂乱,数据的开发成本会越来越高。对于不同的业务,可能有重叠的计算部分和算子,分别独立开发会造成重复造轮子的现象,导致资源浪费。
(2)目的
简化数据清洗过程,拆解整体工作,细分为多个易于处理的部分,进而实现解耦,易于追溯数据错误和保证各部分的正确性。
(3)核心思想
解耦,复杂问题简单化,分而治之
(4)优点
| 层级 | 说明 | 描述 |
| ODS | 原始数据层 | 存放未经过处理的原始数据至数据仓库系统,结构上与源系统保持一致,是数据仓库的数据准备区,数据原则上全量保留。 |
| DWD | 明细数据层 | 以业务过程作为建模驱动,基于每个具体的业务过程特点,构建最细粒度的明细层事实表。数据粒度一般保持和ODS层一样的,并且提供一定的数据质量保证。同时为了提高数据明细层的易用性,该层会采用一些维度退化首发,将维度退化至事实表中,减少事实表和维度表的关联。同时在此层会采用明细宽表,复用关联计算,减少数据扫描。 |
| DWS | 公共汇总层 | 以分析的主题对象作为建模驱动,基于上层的应用和产品的指标需求,构建公共粒度的汇总指标事实表,以宽表化手段物理化模型。构建命名规范、口径一致的统计指标,为上层提供公共指标,建立汇总宽表、明细事实表。 |
| DIM | 公共维度层 | 基于维度建模理念思想,建立整个企业的一致性维度降低数据计算口径和算法不统一风险。 |
| ADS | 数据应用层 | 数据应用层,也叫DM(数据集市)或APP层等,面向实际的数据需求,可以直接给业务人员使用,以DWD或者DWS层的数据为基础,组成各种统计报表。除此之外还有一些直接的表现形式,例如主题大宽度表集市,以及横表转纵表等。 |
| CDM | 数据公共层 | 数据公共层CDM (Common Data Model) 或者 企业级数据仓库EDW (Enterprise Data Warehouse) 主要用于存放明细事实数据、维表数据及公共指标汇总数据,其中明细事实数据、维表数据一般根据ODS层数据加工生成,公共指标汇总数据一般根据维表数据和明细事实数据加工生成。本层采用维度模型作为建模方法的理论基础,更多的是通过采用一些维度退化手段,将维度退化至事实表中,减少维表和事实表的关联,提高数据易用。 |
1.SaaS收银运营数仓分层架构
2.美团数仓分层架构
数据仓库分层没有绝对的规范,适合的就是最好的,数据仓库分层的核心逻辑是解耦,在有限时间、资源等条件下满足业务需求,同时又要兼顾业务的快速变化。这就需要兼顾业务的复杂变化,以及开发的复杂度和可维护性,在两者之间做一个平衡和取舍,选择合适的分层架构,不能超前太多,也不能脱离业务。
一个好的数仓模型分层,应该具备的要素是数据模型可复用,完善且规范的。
(1)问题现象
使用数仓的最终目的是输出可分析、可进行决策的根据。假设一个项目几百张表都放在数仓中,如果不分层,随着业务的发展,表会愈发杂乱,数据的开发成本会越来越高。对于不同的业务,可能有重叠的计算部分和算子,分别独立开发会造成重复造轮子的现象,导致资源浪费。
(2)目的
简化数据清洗过程,拆解整体工作,细分为多个易于处理的部分,进而实现解耦,易于追溯数据错误和保证各部分的正确性。
(3)核心思想
解耦,复杂问题简单化,分而治之
(4)优点
| 层级 | 说明 | 描述 |
| ODS | 原始数据层 | 存放未经过处理的原始数据至数据仓库系统,结构上与源系统保持一致,是数据仓库的数据准备区,数据原则上全量保留。 |
| DWD | 明细数据层 | 以业务过程作为建模驱动,基于每个具体的业务过程特点,构建最细粒度的明细层事实表。数据粒度一般保持和ODS层一样的,并且提供一定的数据质量保证。同时为了提高数据明细层的易用性,该层会采用一些维度退化首发,将维度退化至事实表中,减少事实表和维度表的关联。同时在此层会采用明细宽表,复用关联计算,减少数据扫描。 |
| DWS | 公共汇总层 | 以分析的主题对象作为建模驱动,基于上层的应用和产品的指标需求,构建公共粒度的汇总指标事实表,以宽表化手段物理化模型。构建命名规范、口径一致的统计指标,为上层提供公共指标,建立汇总宽表、明细事实表。 |
| DIM | 公共维度层 | 基于维度建模理念思想,建立整个企业的一致性维度降低数据计算口径和算法不统一风险。 |
| ADS | 数据应用层 | 数据应用层,也叫DM(数据集市)或APP层等,面向实际的数据需求,可以直接给业务人员使用,以DWD或者DWS层的数据为基础,组成各种统计报表。除此之外还有一些直接的表现形式,例如主题大宽度表集市,以及横表转纵表等。 |
| CDM | 数据公共层 | 数据公共层CDM (Common Data Model) 或者 企业级数据仓库EDW (Enterprise Data Warehouse) 主要用于存放明细事实数据、维表数据及公共指标汇总数据,其中明细事实数据、维表数据一般根据ODS层数据加工生成,公共指标汇总数据一般根据维表数据和明细事实数据加工生成。本层采用维度模型作为建模方法的理论基础,更多的是通过采用一些维度退化手段,将维度退化至事实表中,减少维表和事实表的关联,提高数据易用。 |
1.SaaS收银运营数仓分层架构
2.美团数仓分层架构
数据仓库分层没有绝对的规范,适合的就是最好的,数据仓库分层的核心逻辑是解耦,在有限时间、资源等条件下满足业务需求,同时又要兼顾业务的快速变化。这就需要兼顾业务的复杂变化,以及开发的复杂度和可维护性,在两者之间做一个平衡和取舍,选择合适的分层架构,不能超前太多,也不能脱离业务。
一个好的数仓模型分层,应该具备的要素是数据模型可复用,完善且规范的。