目录
3.1 ODS(Operational Data Store)
3.2 DWD(Data Warehouse Detail)
3.3 DWS(Data Warehouse Service)
1.为什么要分层
-
清晰数据结构:每一个数据分层都有它的作用域,这样我们在使用表的时候能够更方便地定位和理解。
-
提升公共指标的复用性,减少重复开发:规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算。
-
降低数据口径不统一的风险。
-
屏蔽原始数据和业务影响:不必改一次业务就需要重新接入数据。
-
数据血缘追踪:能够快速准确定位到问题,并清楚它的影响范围。
2.Inmon与Kimball
在Inmon提出的CIF(Corporate Information Factory,企业信息工厂)中,他将ODS(Operational Data Store,操作型存储)、EDW(Enterprise Data Warehouse,企业数据仓库)、DM(DataMart,数据集市)区别开来,共分三层。
而Kimball的总线架构强调多个数据集市合成了数据仓库,只是他们基于统一的维度而已。因此,总线架构的分层中,从数据源接口就直接到了DM了。
根据这两种思路,又可以衍生一些不同的方法。例如IBM就提出一种CDW的概念,叫做企业数据仓库层,这一层介于EDW和DM之间,起过渡作用(因为EDW和DM两层的建模理念是不同的)。
3.CIF 层次架构
CIF 层次架构(信息工厂)通过分层将不同的建模方案引入到不同的层次中,CIF 将数据仓库分为四层,如图所示: