数据仓库基础笔记

本文最后更新于 9 个月前,文中所描述的信息可能已发生改变。
加载中... 浏览

数据仓库不是简单的大数据库。 它更像是把分散的业务数据整理成适合分析的统一数据体系。

1. 为什么需要数据仓库

业务系统里的数据通常是为“在线业务”服务的。

比如订单系统关心:

  • 用户能不能下单。
  • 库存能不能扣减。
  • 支付状态能不能更新。

这些系统更重视事务正确性和实时读写。

但分析问题时,我们关心的是:

  • 最近 30 天销售额变化。
  • 哪些渠道用户质量更高。
  • 不同地区复购率差异。
  • 某个活动带来了多少新增。

如果每次分析都直接查业务库,不仅效率低,还可能影响线上业务。

所以需要数据仓库,把多个业务系统的数据抽取、清洗、整合,形成统一口径。

2. 数仓和业务库的区别

角度业务库数据仓库
目标支撑业务运行支撑分析决策
数据特点当前状态为主历史数据丰富
查询方式单条读写多聚合分析多
设计关注事务、性能主题、口径、维度

业务库回答“现在发生了什么”,数仓更适合回答“过去一段时间发生了什么,为什么发生”。

3. 常见分层

很多数仓会分层,例如:

txt
ODS -> DWD -> DWS -> ADS

简单理解:

  • ODS:原始数据层,尽量保留业务系统数据。
  • DWD:明细数据层,清洗、规范字段。
  • DWS:汇总数据层,按主题沉淀指标。
  • ADS:应用数据层,直接服务报表或业务分析。

分层的意义是减少重复加工,让数据从原始到可用有清晰路径。

4. 指标口径很重要

数仓里最麻烦的不是建表,而是统一口径。

比如“活跃用户”到底怎么算?

  • 登录算活跃?
  • 浏览页面算活跃?
  • 点击按钮算活跃?
  • 当天多次访问算几次?

如果不同部门各算各的,最后数据会互相打架。

所以数仓建设很重要的一件事是:让指标有统一定义。

5. 小结

数据仓库的核心价值是:

  • 汇集分散数据。
  • 保留历史变化。
  • 统一数据口径。
  • 支撑分析和决策。

可以先把数仓理解成“面向分析的数据组织方式”。它不是为了替代业务系统,而是为了让数据更适合被理解和使用。

留言板

加载评论中...
JS 基础:this 指向详解
JS 基础:变量特性、内存管理与数组方法
Valaxy v0.28.0-beta.1 驱动|主题-Yunv0.28.0-beta.1