1、CIF 层次架构
CIF 层次架构(信息工厂)通过分层将不同的建模方案引入到不同的层次中,CIF 将数据仓库分为四层,如下图所示:
① ODS(Operational Data Store):操作数据存储层,往往是业务数据库表格的一对一映射,将业务数据库中的表格在 ODS重新建立,数据完全一致。
② DWD(Data Warehouse Detail):数据明细层,在 DWD 进行数据的清洗、脱敏、统一化等操作,DWD 层的数据是干净并且具有良好一致性的数据。
③ DWS(Data Warehouse Service):服务数据层(公共汇总层),在 DWS 层进行轻度汇总,为 DM 层中的不同主题提供公用的汇总数据。
④ DM(Data Market):数据集市层,DM 层针对不同的主题进行统计报表的生成。
2、层次功能详解
1.ODS
ODS 层中的数据全部来自于业务数据库,ODS 层的表格与业务数据库中的表格一一对应,就是将业务数据库中的表格在数据仓库的底层重新建立一次,数据与结构完全一致。
由于业务数据库(OLTP)基本按照 ER 实体模型建模,因此 ODS 层中的建模方式也是ER 实体模型。
2.DWD
DWD 层要做的就是将数据清理、整合、规范化,脏数据、垃圾数据、规范不一致的、状态定义不一致的、命名不规范的数据加以处理。DWD 层应该是覆盖所有系统的、完整的、干净的、具有一致性的数据层。
在 DWD 可能会用到 ER 或者维度模型。在 DWD 层会抽取出公共维度,例如区域等。也就是说 DWD 层是一个非常规范的,高质量的,可信的数据明细层。
3.DWS
DWS 层为公共汇总层,会进行轻度汇总,粒度比明细数据稍粗,会针对度量值进行汇总,目的是避免重复计算。往往在 DWS 层建立宽表,例如订单总金额,可能在原始数据中没有这个数据,进入 DWS 层后可以统计出订单总金额,避免重复地拿订单明细数据去计算。
DWS 层建议使用维度建模,因为数据仓库的主要应用是进行数据分析。
4.DM
DM 层为数据集市层,面向特定主题,例如订单主题、物流主题等。在 DM 完成报表或者指标的统计,DM 层已经不包含明细数据,是粗粒度的汇总数据,因此 DM 层会被当成 BI (商业智能)或者 OLAP 的底层模型。
在大数据数据仓库领域内,数据仓库是包括集市的,而且物理上是统一、非隔离的,集市的概念相较与传统数据仓库比较弱化,由于有底层明细数据、通用汇总数据的存在,数据集市一般位于上层。
应用层面存在相应分析主题的概念,甚至很大程度上存在集市交叉的现象,所以如果是在大数据领域构建企业整体数据仓库,并且数据集市也一块规划,建议集市弱化,把它当作是梳理上层数据域的工具。
3、主题设计思路:
① 按照使用部门划分集市主题
② 按照业务模块划分集市主题