本文最后更新于 9 个月前,文中所描述的信息可能已发生改变。加载中... 浏览
数据仓库不是简单的大数据库。 它更像是把分散的业务数据整理成适合分析的统一数据体系。
1. 为什么需要数据仓库
业务系统里的数据通常是为“在线业务”服务的。
比如订单系统关心:
- 用户能不能下单。
- 库存能不能扣减。
- 支付状态能不能更新。
这些系统更重视事务正确性和实时读写。
但分析问题时,我们关心的是:
- 最近 30 天销售额变化。
- 哪些渠道用户质量更高。
- 不同地区复购率差异。
- 某个活动带来了多少新增。
如果每次分析都直接查业务库,不仅效率低,还可能影响线上业务。
所以需要数据仓库,把多个业务系统的数据抽取、清洗、整合,形成统一口径。
2. 数仓和业务库的区别
| 角度 | 业务库 | 数据仓库 |
|---|---|---|
| 目标 | 支撑业务运行 | 支撑分析决策 |
| 数据特点 | 当前状态为主 | 历史数据丰富 |
| 查询方式 | 单条读写多 | 聚合分析多 |
| 设计关注 | 事务、性能 | 主题、口径、维度 |
业务库回答“现在发生了什么”,数仓更适合回答“过去一段时间发生了什么,为什么发生”。
3. 常见分层
很多数仓会分层,例如:
txt
ODS -> DWD -> DWS -> ADS简单理解:
- ODS:原始数据层,尽量保留业务系统数据。
- DWD:明细数据层,清洗、规范字段。
- DWS:汇总数据层,按主题沉淀指标。
- ADS:应用数据层,直接服务报表或业务分析。
分层的意义是减少重复加工,让数据从原始到可用有清晰路径。
4. 指标口径很重要
数仓里最麻烦的不是建表,而是统一口径。
比如“活跃用户”到底怎么算?
- 登录算活跃?
- 浏览页面算活跃?
- 点击按钮算活跃?
- 当天多次访问算几次?
如果不同部门各算各的,最后数据会互相打架。
所以数仓建设很重要的一件事是:让指标有统一定义。
5. 小结
数据仓库的核心价值是:
- 汇集分散数据。
- 保留历史变化。
- 统一数据口径。
- 支撑分析和决策。
可以先把数仓理解成“面向分析的数据组织方式”。它不是为了替代业务系统,而是为了让数据更适合被理解和使用。
留言板