数仓分层

基于阿里巴巴OneData方法论最佳实践,在阿里巴巴的数据体系中,建议将数据仓库分为三层:数据引入层(ODS,Operational Data Store)、数据公共层(CDM,Common Dimensions Model)和数据应用层(ADS,Application Data Store)。

数据仓库自顶向下的分层和各层用途如下图所示。数仓层次关系图
  • 数据引入层(ODS,Operational Data Store,又称数据基础层):将原始数据几乎无处理地存放在数据仓库系统中,结构上与源系统基本保持一致,是数据仓库的数据准备区。这一层的主要职责是将基础数据同步、存储到MaxCompute。
  • 数据公共层(CDM,Common Dimensions Model):存放明细事实数据、维表数据及公共指标汇总数据。其中,明细事实数据、维表数据一般根据ODS层数据加工生成。公共指标汇总数据一般根据维表数据和明细事实数据加工生成。
    CDM层又细分为维度层(DIM)、明细数据层(DWD)和汇总数据层(DWS),采用维度模型方法作为理论基础, 可以定义维度模型主键与事实模型中外键关系,减少数据冗余,也提高明细数据表的易用性。在汇总数据层同样可以关联复用统计粒度中的维度,采取更多的宽表化手段构建公共指标数据层,提升公共指标的复用性,减少重复加工。
    • 维度层(DIM,Dimension):以维度作为建模驱动,基于每个维度的业务含义,通过添加维度属性、关联维度等定义计算逻辑,完成属性定义的过程并建立一致的数据分析维表。为了避免在维度模型中冗余关联维度的属性,基于雪花模型构建维度表。

      在Dataphin中,维度层的表通常也被称为维度逻辑表。

    • 明细数据层(DWD,Data Warehouse Detail):以业务过程作为建模驱动,基于每个具体的业务过程特点,构建最细粒度的明细事实表。可以结合企业的数据使用特点,将明细事实表的某些重要属性字段做适当冗余,也即宽表化处理。

      在Dataphin中,明细数据层的表通常也被称为事实逻辑表。

    • 汇总数据层(DWS,Data Warehouse Summary):以分析的主题对象作为建模驱动,基于上层的应用和产品的指标需求,构建公共粒度的汇总指标表。以宽表化手段物理化模型,构建命名规范、口径一致的统计指标,为上层提供公共指标,建立汇总宽表、明细事实表。

      在Dataphin中,汇总数据层的表通常也被称为汇总逻辑表,用于存放派生指标数据。

  • 数据应用层(ADS,Application Data Store):存放数据产品个性化的统计指标数据,根据CDM层与ODS层加工生成。