1.数仓整体架构
数据仓库层次
2.数仓分层
在我实习公司中,数仓大概分为三层,为ods、dw、ads。

概念 理解
ODS 业务数据与数据仓库的一个隔离,该层数据结构与原始日志中的结构一致,存放的是原始日志数据。源头数据不能收到污染,必须保持和原始日志数据一致。因为数据可能存在冲突,所以最好加上时间版本用于区别相同数据。
DW DW层为数据公共层,由ods层数据关联得到,之后也无需求直接从dw层拉取,管理所有数据。
1.dwd: 明细事实表:组合相关数据,解决一些数据质量问题和数据的完全度问题,采用明细宽表减少扫描,例如订单表,dwd中每个订单都只会取订单的最新状态,当出现退款订单时,因为退款日期上限位3天,故该表需要三天回准。
2.dws: 数据宽表:通过dwd、ods层数据整理出来的基于某一个主题或者活动的详细数据宽表,为上层数据产品、服务提供公共指标。
3.dim: 维表,例如国家代码+国家名,城市代码+城市名 之类的维表
ADS 是ADS是数据集市,DW层只有某一维度的明细数据,通过需求文档关联各维度的DW数据,求出最终的业务数据,提供给需求方。

3.数仓分层作用
(1)空间换时间 : 当一个需求来临时,若不使用数仓分层的话要进行原始数据清洗、各个清洗后的数据的关联,最终得到需求数据,过程复杂。使用数仓可以将大量清洗过后的表和维度明细表进行持久化,直接关联减少开发复杂度。
(2)复杂问题简单化:每个层次都是单一的处理方式,容易理解,便于数据维护,各种表的父子节点清洗明显,当数据异常时寻找问题简单便捷。
(3)便于处理变化的业务:业务会随着公司不同的战略方向调整重心,调整数据时只需调整底层数据便可以清楚地观察到各个业务数据的变化。

相关文章: