什么是数仓
什么是数仓
数仓和数据库
数据仓库简称数仓
Data Warehouse,DW或DWH
数仓的目的是构建面向分析的集成化数据环境,用于存储、整合和分析 大量历史数据 的系统,支持复杂的查询和数据分析,通常用于决策支持。
- 进行OLAP分析
- 整合多源数据
- 高性能复杂查询、数据聚合
- 反规范化
而数据库用于存储和管理操作数据,支持日常事务处理,如增删改查。
- 处理OLTP事务
- 单一数据来源
- 高并发、低延迟、实时
- 规范化(3NF)
概念 | 分析 |
---|---|
OLAP 联机分析处理 | 一种面向 数据分析 的系统,主要用于支持复杂的查询和决策分析。 |
OLTP 联机事务处理 | 一种面向 实时事务处理 的系统,主要用于支持日常业务操作,如增删改查(CRUD) |
典型协作流程:
- 数据库存储原始业务数据
- 通过ETL(抽取、转换、加载)导入数仓
- 数仓提供分析能力
案例:电商平台
数据库:
- 处理用户下单、支付、库存扣减等事务
- 存储当前订单状态、用户账户余额等实时数据
数仓:
- 整合订单数据、用户行为日志、广告投放数据
- 分析用户购买偏好、商品销售趋势、广告ROI,生成报表供管理层决策
分层模型
ODS
Operaional Data Store,操作数据存储层
ODS是数仓的原始数据接入层,直接对接业务系统的数据源,存储未经处理的原始数据或轻度清洗的数据
示例:从 MySQL 业务库同步用户订单表到 ODS 层,表结构与源库一致。
DWD
Data Warehouse Detail,数据仓库明细层
DWD是数仓的核心明细数据层,对ODS层的数据进行清洗、整合和规范化,形成高质量、可复用的明细数据
示例: 将ODS 层的订单表与用户表关联,清洗后生成包含用户ID、订单金额、商品类目的规范化事实表。
ADS
Application Data Service,应用数据服务层
ADS是直接面向业务应用的数据服务层,基于DWD或DWS(数据汇总层)的数据,按业务需求进行聚合、统计或建模,输出可直接使用的数据集
示例:基于 DWD 层的订单明细数据,按商品类别和地区统计每日销售额,生成聚合宽表供BI展示。
数据粒度
数据粒度指的是数据的细化程度或详细级别,它决定了数据中包含的信息量和可分析的维度,决定了数据的最小单元是什么。
- 粒度越细,数据越详细
- 粒度越粗,数据越抽象
比如说表级、行级、指标级的粒度
- 表级:以整张表为最小单元,关注表结构和元数据,而非具体数据内容
- 行级:以单行记录为最小单元,保存每条业务数据的详细内容
- 指标级:以预计算的统计指标为最小单元
分层 | 数据粒度 | 说明 |
---|---|---|
ODS | 表级、行级 | 表级:保留源系统的表结构 行级:直接同步源系统的原始行数据 |
DWD | 行级 | 清洗后的明细数据,每条记录代表一个业务事件 |
ADS | 指标级 | 按业务需求聚合的指标(如日常售额)或宽表(如用户行为+订单数据合并) |
This post is licensed under CC BY 4.0 by the author.