目录
一、两者各自的含义
二、核心区别
1. 用途不一样
2. 数据特点不一样
3. 结构设计不一样
4. 操作方式不一样
5. 访问人群不一样
6. 数据量与时间跨度
7.对比表
三、关联关系
四、常见误区
❌ 误区1:“数据仓库就是大一点的数据库”
❌ 误区2:“有了数据湖就不需要数据仓库了”
❌ 误区3:“直接在业务库上跑报表没问题”
一、两者各自的含义
数据库(DB):存业务实时数据,支持增删改查,给系统用。
数据仓库(DW):存历史汇总数据,支持分析统计,给人看 / 决策用。
二、核心区别
1. 用途不一样
数据库:支撑业务系统跑:下单、支付、库存、ERP、MES 等。要求快、准、实时。
数据仓库:做统计、分析、报表、大屏、BI。要求全、历史久、能汇总。
2. 数据特点不一样
数据库:最新、最细、实时、经常增删改。
数据仓库:历史全、按时间归档、一般只追加不修改。
3. 结构设计不一样
数据库:三范式(3NF)拆表多、减少冗余、保证数据一致。
数据仓库:星型 / 雪花模型宽表多、适当冗余、为查询快而设计。
4. 操作方式不一样
数据库:大量 INSERT / UPDATE / DELETE少量简单查询。
数据仓库:几乎 不删不改大量复杂查询、多表关联、聚合统计。
5. 访问人群不一样
数据库:程序、系统、接口在用
数据仓库:分析师、运营、管理者在用
6. 数据量与时间跨度
数据库:保留近期数据(几个月~1 年)
数据仓库:保留多年历史(3 年 + 甚至全量)
7.对比表
| 作用 | 业务运行 | 统计分析、决策 |
| 数据操作 | 增删改查 | 主要查询,极少改 |
| 模型 | 三范式,少冗余 | 星型模型,适当冗余 |
| 数据范围 | 当前、近期 | 历史全量 |
| 使用者 | 系统 / 程序 | 人(分析师、管理者) |
| 典型产品 | MySQL、Oracle、SQL Server | Hive、ClickHouse、Doris、Greenplum |
三、关联关系
数据流向:数据库 → 数据仓库

- ETL(Extract, Transform, Load) 是桥梁:
- Extract:从多个 OLTP 数据库抽取数据
- Transform:清洗、整合、计算指标(如“年销售额”)
- Load:加载到数据仓库的维度模型中
四、常见误区
❌ 误区1:“数据仓库就是大一点的数据库”
错! 设计哲学完全不同:
- 数据库为 写优化(Write-Optimized)
- 数据仓库为 读优化(Read-Optimized)
❌ 误区2:“有了数据湖就不需要数据仓库了”
不完全对!
- 数据湖:存储原始数据(结构化/非结构化),适合探索性分析
- 数据仓库:存储清洗后的结构化数据,适合固定报表 → 二者常共存(Lakehouse 架构融合趋势)
❌ 误区3:“直接在业务库上跑报表没问题”
危险!
- 复杂报表会锁表、拖慢核心业务
- 历史数据可能已被归档删除 → 必须分离 OLTP 与 OLAP

