概述
数据仓库建议方法论的核心:从业务架构到模型设计,从数据研发到数据服务,做到数据可管理、可追溯、可规避重复建设。
数据模型的设计主要以维度建模理论为基础,基于维度数据模型总线架构,构建一致性的维度和事实。
模型分层
数据模型分三层
- 操作数据层(ODS,Operational Data Store )
- 应用数据层(ADS, Application Data Store)
- 公共维度模型层(CDM,Common Dimenssions Model)
1 ) 明细数据层(DWD,Data Warehouse Detail)
2 ) 汇总数据层(DWS,Data Warehouse Summary)
操作数据层 (ODS): 把业务系统数据无处理存放在数据仓库系统中。
- 同步: 结构化数据增量或全量同步到HDFS
- 结构化:非结构(日志)数据,结构化处理扣存储到HDFS
- 累积历史、清洗:根据业务需求及稽核和审计要求保存历史数据、清洗数据
公共维度模型层(CDM): 存放明细事实数据、维表数据及公共指标汇总数据
- DWD 层,明细事实数据、 维表数据一般根据 ODS 层数据加工生成。将维度退化至事实表中,减少事实表和维表的关联,提高明细数据表的易用性
- DWS 层,公共指标汇总数据一般根据维表数据和明细事实数据加工生成。在这一层,加强指标的维度退化,釆取更多的宽表化手段构建公共指标数据层,提升公共指标的复用性,减少重复加工。
- 组合相关和相似数据::釆用明细宽表,复用关联计算,减少数据扫描。
- 公共指标统一加工:基于 统一构建命名规范、口径一致和算法统一的统计指标,为上层数据产品、应用和服务提供公共指标;建立逻辑汇总宽表。
- 建立一致性维度:建立一致的数据分析维表,降低数据计算口径、算法不统一的风险。
应用数据层 (ADS): 存放数据产品个性化的统计指标数据,根据CDM 层与 ODS 层加工生成。
数据调用服务优先使用公共维度模型层 (CDM) 数据,当公共层没有数据时,需评估是否需要创建公共层数据,当不需要建设公用的公共层时,方可直接使用操作数据层 (ODS) 数据。
基本原则
高内聚和低耦合
- 数据业务特性:将业务相近或者相关、粒度相同的数据设计为一个逻辑或者物理模型
- 访问特性:将高概率同时访问的数据放一起,将低概率同时访问的数据分开存储。
核心模型与扩展模型分离
建立核心模型与扩展模型体系,核心模型包括的字段支持常用的核心业务,扩展模型包括的字段支持个性化或少量应用的需要,不能让扩展模型的字段过度侵入核心模型,以免破坏核心模型的架构简洁性与可维护性。
公共处理逻辑下沉及单一
底层公用的处理逻辑应该在数据调度依赖的底层进行封装与实现,不要让公用的处理逻辑暴露给应用层实现,不要让公共逻辑多处同时存在。
成本与性能平衡
适当的数据冗余可换取查询和刷新性能,不宜过度冗余与数据复制。
数据可回滚
处理逻辑不变,在不同时间多次运行数据结果确定不变
一致性
具有相同含义的字段在不同表中的命名必须相同,必须使用规范义中的名称