承接上篇:前面三篇我们依次讲解了分层的价值、五层架构每层边界、各层级配套技术栈。很多读者看完理论后最大的困惑:是不是所有企业都必须完整落地 ODS原始数据层、DWD 明细层、DIM 维度层、DWS 汇总层、ADS 应用层五层?
答案是否定的。分层是一套可裁剪的设计思想,不是强制标准。分层越多,职责越清晰,但同时开发、调度、运维成本会同步上涨。本篇重新按照团队规模做清晰的边界划分,区分度拉满。
1、核心裁剪原则
- 分层本质是逻辑隔离,不是强制拆多张物理表。
- 人力越少,越合并物理层;业务越复杂、报表复用越多,才拆出独立物理层。
2、小团队
1~3 名数据开发,报表≤5 个,数据百万级,T+1 离线,无实时。
2.1 简易 ODS(原始层)|合并应用层(DWD+DWS+ADS 合并)
物理上就两类表,不单独拆分 DWD、DWS、ADS。
2.2 各层职责
- 简易 ODS(原始层,ODS(原始数据层))直接同步业务库原始数据原样落盘,不做任何业务清洗、过滤、转换。只做两件事:数据同步、数据落地保存。作为唯一溯源基线,保留原始数据,方便排查问题。
- 可以直接同步 MySQL 全量 / 增量到 Hive/Doris;
- 不做去重、剔除测试数据、字段翻译这类业务逻辑。
- 合并应用层(DWD+DWS+ADS 合并为一层)所有业务逻辑全部写在这里:读取简易 ODS 原始表,一次性完成清洗、去重、维度关联、指标聚合,直接产出报表 / BI 视图。
- 明细清洗、指标汇总、业务特殊口径全部在同一段 SQL 里完成;
- 不再单独拆明细中间表、公共汇总表、业务视图;
- 产出物直