针对数据中台数据模型的分层,业界比较通用的分层方式是将数据模型分为5层:①ODS
层(Operate Data Store,操作数据层)、②DIM层(Dimension,维度数据层)、③DWD层
(Data Warehouse Detail,明细数据层)、④DWS层(Data Warehouse Service,汇总数据
层)、⑤ADS层(Application Data Store,应用数据层)。
各层数据模型之间的关系如图3-4所示。
基于原始数据向上看,第一层是ODS层和DIM层。ODS层数据是数据仓库的第一层数
据,是业务数据库的原始数据的复制,例如,每条产品线的用户信息、订单信息等数据一般
都是原封不动地同步到数据中台的ODS层中的。ODS层的作用是在业务系统和数据仓库之间
形成一个隔离层,在数据中台进行计算任务时,可以以ODS层的数据为基础进行计算,从而
不给业务数据库增加负担。DIM层存储的是维度数据,如城市、省份、客户端等维度的数
据。
第二层是DWD层。DWD层数据是数据仓库的第二层数据,一般基于ODS层和DIM层的数
据做轻度汇总。DWD层存储经过处理后的标准数据,需要对ODS层数据进行再次清洗(如去
空/脏数据、去超过极限的数据等操作)。DWD层的结构和粒度一般与ODS层保持一致,但是
DWD层汇总了DIM层的维度数据,比如在ODS层只能看到客户端的ID字段,但是在DWD层
不但能看到客户端的ID字段,还能看到客户端的名称字段。
第三层是DWS层。DWS层数据是数据仓库的第三层数据,是以DWD层的数据为基础进
行汇总计算的数据。DWS层数据都是各个维度的汇总数据,比如某日某产品线的访问用户
数、收藏用户数、加购用户数、下单用户数、支付用户数等。
第四层是ADS层。ADS层数据是数据仓库的最后一层数据,以DWS层数据为基础进行数
据处理。设计ADS层的最主要目的就是给数据可视化应用提供最终的数据。后端开发工程师
基于ADS层的数据将最终数据结果以接口的形式展示给数据中台的应用层。