阿里 onedate 分层思想
对于数仓的分层,每个企业的名称都不一样,但是其思想都是类似的,都是通过空间换时间,能够沉淀公共模型,避免数据重复加工,多次引用等导致的数据不一致。基于阿里 OneData 方法论的数据有三层,即:数据引入层(ODS,Operational Data Store)、数据公共层(CDM,Common Dimenions Model)和数据应用层(ADS,Application Data Store)。
首先,我们应该明确分层的初衷::
缺少可以复用的数据模型
结果集都是基于原始数据进行清洗、加工和计算指标
大量重复代码的开发对资源的消耗
问题的根源就在于数据模型的无法复用,以及数据开发都是烟囱式的。所以要解决这个问题,就要搞清楚健壮的数据模型该如何设计,具体可以了解一下每层的作用及存放的数据。
数据引入层:是将未经处理的原始数据存放在数据仓库系统中,结构上与源系统基本保持一致,是数据仓库的数据准备区。这一层的主要职责是将基础数据同步、存储。
数据公共层:存放明细事实数据、维表数据及公共指标汇总数据。其中,明细事实数据、维表数据一般根据 ODS 层数据加工生成。公共指标汇总数据一般根据维表数据和明细事实数据加工生成。CDM 层又细分为维度层(DIM)、明细数据层(DWD)和汇总数据层(DWS),采用维度模型方法作为理论基础, 采取更多的宽表化手段构建公共指标数据层,提升公共指标的复用性,减少重复加工。
数据应用层:存放数据产品个性化的统计指标数据,根据 CDM 层与 ODS 层加工生成。
版权声明: 本文为 InfoQ 作者【奔向架构师】的原创文章。
原文链接:【http://xie.infoq.cn/article/792c9038819827e167c19bfcd】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论