数据仓库分层:从 ODS 到 ADS 的完整链路
前言
如果你做过数据开发,一定听过"数据仓库分层"这个词。ODS、DWD、DWS、ADS——这四个缩写几乎出现在每一份数据架构文档里。但你真的理解每一层该放什么、不该放什么吗?
本文将从零开始,带你彻底理解数据仓库分层的设计思想,并附上实战案例,帮助你搭建企业级的数据分层架构。
一、数据仓库为什么要分层
1.1 一个没有分层的反面案例
假设你接到一个需求:"给业务方出一张用户交易日报"。你写了如下 SQL:
-- 直接从业务库的订单表关联用户表,加上一堆 CASE WHEN
SELECT
u.id,
u.name,
o.amount,
CASE WHEN o.status = 1 THEN '已支付'
WHEN o.status = 2 THEN '已退款'
WHEN o.status = 0 THEN '待支付'
ELSE '未知'
END AS status_desc,
DATE(o.created_at) AS order_date
FROM orders o
JOIN users u ON o.user_id = u.id
WHERE o.created_at >= '2026-06-01'
大约 24 分钟