首页
数仓建设
数据仓库具有的价值
- 整合公司所有业务数据,建立统一的数据中心
- 产生业务报表,用于作出决策
- 为网站运营提供运营上的数据支持
- 可以作为各个业务的数据源,形成业务数据互相反馈的良性循环
- 分析用户行为数据,通过数据挖掘来降低投入成本,提高投入效果
- 开发数据产品,直接或间接地为公司盈利
数仓分层意义
- 清晰数据结构:每一个数据分层都有它的作用域,这样我们在使用表的时候能更方便地定位和理解。
- 数据血缘追踪:简单来讲可以这样理解,我们最终给业务呈现的是一张能直接使用的张业务表,但是它的来源有很多,如果有一张来源表出问题了,我们希望能够快速准确地定位到问题,并清楚它的危害范围。
- 减少重复开发:规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算。
- 把复杂问题简单化:将一个复杂的任务分解成多个步骤来完成,每一层只处理单一的步骤,比较简单和容易理解。而且便于维护数据的准确性,当数据出现问题之后,可以不用修复所有的数据,只需要从有问题的步骤开始修复。
- 屏蔽原始数据的异常:屏蔽业务的影响,不必改一次业务就需要重新接入数据。
数仓分层
- ODS:Operational Data Store,操作数据层,在结构上其与源系统的增量或者全量数据基本保持一致。它相当于一个数据准备区,同时又承担着基础数据的记录以及历史变化。其主要作用是把基础数据引入到数仓中。
- DWD:Common Data Model,公共维度模型层,又细分为DWD和DWS。它的主要作用是完成数据加工与整合、建立一致性的维度、构建可复用的面向分析和统计的明细事实表以及汇总公共粒度的指标。
- DWD:Data Warehouse Detail,明细数据层。以业务过程为建模驱动,基于每个具体业务过程的特点,构建最细粒度的明细层事实表。结合企业的数据使用特点,将明细事实表的某些重要维度属性字段做适当的冗余,即宽表化处理。
- DWS:Data Warehouse Summary,汇总数据层。以分析的主题对象为建模驱动,基于上层的应用和产品的指标需求,构建公共粒度的汇总指标事实表,以宽表化手段来物理化模型。
- ADS:Application Data Service,应用数据层。
数仓建设的基本原则
- 高内聚和低耦合
- 核心模型与扩展模型分离
- 公共处理逻辑下沉及单一
- 成本与性能平衡
- 数据可回滚,数据稳定
- 一致性
- 命名清晰可理解