2026/10/21 6:07:04
网站建设
项目流程
系列收尾篇,前面 5 篇讲原理、架构、裁剪方案、完整业务案例。本篇把工程落地 + 面试高频问题汇总,既有面试答题回复,也有项目实操避坑清单。
1、核心面试高频问答
Q1:为什么小团队不建议全五层分层?
回答思路:分层本身是解耦、复用、容错的架构取舍,它是有维护成本的,不是银弹。
- 五层架构(ODS 原始数据层 / DWD/DIM/DWS/ADS)的收益,建立在:多人协作、大量报表、指标大量复用、数据体量巨大的前提下。
- 单人小团队场景:报表数量少,业务迭代快。如果强行完整五层:
- 表数量成倍增加,每一层都要开发、调度、监控、运维;
- 链路变长,排查问题链路更长,出问题需要逐层定位;
- 很多表只被使用一次,分层带来的复用收益几乎为 0,属于过度设计。
- 结论:小团队优先精简架构(ODS+ADS);随着报表、人员增加,逐步引入 DWD、DIM,等明细查询性能瓶颈出现后,再新增 DWS 汇总层。分层架构按需演进,不是一次性搭建完整五层。
Q2:DWS 层最大的价值是什么?什么场景不需要 DWS?
DWS 最大价值DWS 是轻度预聚合汇总层,核心价值两点:
- 查询性能优化:提前在明细 DWD 层按照固定粒度(商品 + 日、用户 + 日)预聚合指标,报表 ADS 不再扫描海量明细数据,大幅降低计算资源,提升 BI 看板查询速度。
- 指标复用:多个业务报表共用同一套汇总指标,指标口径统一,一处修改,所有报表生效,避免 ADS 多处重复写相同聚合逻辑,防止口径不一致。
不需要 DWS 的场景