ZhangZhihui's Blog  

在数据仓库(Data Warehouse)和数据集市(Data Mart)的建设中,分层(Layering) 是为了将复杂的数据清洗、转换过程标准化。通过分层,可以实现数据溯源、解耦和性能优化。

通常业界(如阿里巴巴的 OneData 体系)将数据分为以下四个主要层级:


1. ODS 层 (Operational Data Store)

操作数据层: 数据的“第一站”。

  • 功能: 将业务系统(如 MySQL, Oracle, 日志)中的数据原样落盘。

  • 特点: 结构与源系统基本一致,通常保留历史快照(或增量增量存储),作为数据仓库的备查库。

  • 目的: 减少对业务库的直接查询压力,提供统一的数据底座。

2. DWD 层 (Data Warehouse Detail)

明细数据层: 对 ODS 数据进行清洗和标准化。

  • 功能: 进行数据清洗(去空值、脏数据、脏符号)、脱敏、统一枚举值。

  • 核心操作: 维度建模。将业务事实转化为以“事实表”和“维度表”构成的星型模型。

  • 特点: 数据粒度最细,每一行通常代表一次业务行为(如:一次点击、一笔订单)。

3. DWS 层 (Data Warehouse Service / Summary)

汇总数据层: 基于 DWD 层的宽表进行预计算。

  • 功能: 将 DWD 的明细数据按照不同的维度(如天、月、地域、品类)进行聚合(Aggregation)。

  • 核心概念: 建立指标(Metric),比如“近30天某用户的消费总额”。

  • 特点: 提升查询效率,减少重复计算。

4. ADS 层 (Application Data Store) / DIM 层

应用数据层(或数据集市层): 直接面向业务应用。

  • 功能: 为报表工具(Tableau, PowerBI)、BI 画布、在线接口(FastAPI 等)提供现成的数据。

  • 特点: 通常数据量较小,查询极快,往往存储在关系型数据库(如 PostgreSQL, MySQL)或 OLAP 引擎中。


数据流转示意表

层级 全称 主要任务 存储周期 典型工具
ODS 操作数据层 结构同步、增量入库 短期/长期备份 Hive / Iceberg
DWD 明细数据层 清洗、去重、关联维度 长期 Hive / Spark
DWS 汇总数据层 预计算、轻度汇总 长期 Spark / Tez
ADS 应用数据层 报表展示、接口调用 短期
posted on 2025-07-28 15:53  ZhangZhihuiAAA  阅读(62)  评论(0)    收藏  举报