电商数仓实战课程地图
1. 为什么要做这套项目
很多数仓资料从概念或零散 SQL 开始,学习者知道 ODS、DWD、DWS 的名称,却不知道为什么要分层,也无法证明自己算出的 GMV 是否正确。
本项目从一个真实经营问题开始:
6 月销售额为什么变化?究竟是流量、转化、客单价、商品结构还是退款出了问题?
学习路径围绕这个问题逐层展开,最终产物不是几张孤立表,而是一套可构建、可查询、可对账、可交付的电商数仓。

这张主视觉图用于快速建立全局认知;需要查看具体字段和 SQL 时,再进入对应章节的技术图和代码入口。
2. 最终能力链路
业务问题
→ 源系统和业务过程
→ 粒度与维度建模
→ ODS 原始层
→ DIM / DWD 公共维度与明细事实
→ DWS 主题汇总
→ ADS 应用结果
→ 数据质量与发布门禁
→ 增量设计、调度与商业交付
3. 十章结构
第 1 章:业务场景、分析需求与项目边界
核心问题:这个数仓为谁服务,必须回答哪些经营问题?
动手产物:业务问题清单、指标树和当前实现边界。
第 2 章:源系统与样例数据
核心问题:订单、支付、退款和行为事件在源系统中分别代表什么?
动手产物:九张源表的数据字典、数据生成器和业务信号说明。
第 3 章:维度建模与总线矩阵
核心问题:怎样确定事实表粒度,并让渠道、商品、用户等维度跨主题复用?
动手产物:业务过程总线矩阵、粒度字典和星型模型设计。
第 4 章:ODS 原始数据层
核心问题:怎样保留源数据,同时为后续加工提供可追溯入口?
动手产物:ODS 表、类型检查以及生产环境审计字段扩展方案。
第 5 章:公共维度层
核心问题:怎样统一日期、用户、商品、店铺和渠道描述?
动手产物:五张维度表、日期 spine 和 SCD Type 2 扩展练习。
第 6 章:DWD 明细事实层
核心问题:怎样避免支付、退款和订单商品关联造成金额重复?
动手产物:四张事实表、支付状态解析、退款预聚合、业务主键和 59 项事实对账。
第 7 章:DWS 主题汇总层
核心问题:哪些聚合值得沉淀为跨应用复用的数据资产?
动手产物:渠道日、商品日和用户日主题表,完整维度网格、指标可加性边界和 74 项主题对账。
第 8 章:ADS 应用数据层
核心问题:怎样把通用主题表转成经营看板和固定分析可以直接读取的结果?
动手产物:经营总览、渠道表现、商品排行、退款监控和复购应用表,以及 113 项应用口径验收。
第 9 章:数据质量与跨层对账
核心问题:怎样证明数据正确,而不是只证明 SQL 能执行?
动手产物:584 项上游质量证据、53 项统一门禁、跨层对账报告和隔离故障演练。
第 10 章:增量、调度与商业交付
核心问题:怎样从全量教学案例走向可维护的数据工程项目?
动手产物:增量方案、调度 DAG、部署说明、Release 包和最终验收。
当前项目在这一章实现本地全量编排和独立商业 ZIP;CDC、增量 MERGE、持久水位和云调度作为生产目标设计,明确标记为尚未实现。
4. 两条学习路径
路径 A:数仓零基础
按第 1 章到第 10 章顺序学习,每章都完成动手任务。
路径 B:有数仓经验的开发者
先运行 make validate,再重点学习第 3、6、8、9、10 章,比较当前实现与自己的生产经验。
5. 与 Data Agent 的边界
本项目的最终职责是交付可信数据。Data Agent 可以读取 DWS 或 ADS,但自然语言理解、SQL 安全、会话和 Web 工作台属于另一个独立项目。
两个项目的关系是能力递进,而不是安装依赖。
6. 最终毕业验收
完成十章后,在项目根目录执行:
make release
该命令会重建五层数仓,运行 637 项质量证据和自动化测试,生成版本化 ZIP,并在临时解压目录再次执行完整测试。技术验收通过后,学习者应能够独立解释业务粒度、指标口径、跨层对账、增量边界和交付完整性。