数据仓库
一、第一性原理:数据仓库究竟解决什么问题
1. 问题本质
数据仓库的本质并不是“存更多数据”,而是系统性解决以下矛盾:
- **分析负载与交易负载的结构性冲突**
- **业务复杂性不断累积但分析需求要求稳定性**
- **数据口径在多人、多系统、多时间下的一致性问题**
数据仓库的核心使命:将变化隔离在系统边缘,把稳定沉淀在核心结构中。
2. 核心设计哲学
- 解耦优先:OLTP 与 OLAP 物理与逻辑隔离
- 稳定优先:先稳定模型,再优化性能
- 历史优先:默认一切数据都会被回溯分析
- 复用优先:计算一次,反复使用
二、能力模型:从“系统”而非“工具”理解数据仓库
1. 数据仓库能力全景
数据仓库能力体系
├─ 数据采集能力
├─ 数据建模能力
├─ 数据计算能力
├─ 数据存储能力
├─ 数据治理能力
│ ├─ 质量
│ ├─ 元数据
│ ├─ 血缘
│ └─ 指标口径
├─ 数据服务能力
└─ 架构演进能力
所有技术选型,本质上都是在为这些能力服务。
三、架构范式演进:为什么架构一定会这样发展
1. 架构演进路径
数据库 → 数据仓库 → 大数据平台 → 数据中台 → 实时数仓
2. 每次演进解决的问题
| 阶段 |
核心矛盾 |
解决方式 |
| 数据库 |
分析拖慢业务 |
引入独立仓储 |
| 数据仓库 |
数据规模扩大 |
分布式存储 |
| 大数据平台 |
数据难以复用 |
统一建模 |
| 数据中台 |
数据交付效率 |
服务化 |
| 实时数仓 |
决策延迟 |
流式计算 |
四、分层模型:分层不是规范,而是复杂性控制手段
1. 分层的根本原因
2. 经典分层结构
ODS → DWD → DWM → DWS → ADS
↑
DIM
3. 各层存在的“不可替代性”
| 层级 |
核心职责 |
不能省略的原因 |
| ODS |
历史留存 |
数据不可再生 |
| DWD |
业务事实 |
稳定粒度基准 |
| DWM |
公共中间结果 |
成本控制 |
| DWS |
主题服务 |
消费友好 |
| ADS |
产品交付 |
面向用户 |
五、建模方法论:为什么维度建模最适合分析系统
1. 建模目标
2. 核心抽象
- **事实(Fact)**:业务过程中可度量的事件
- **维度(Dimension)**:观察事实的视角
一切分析,本质上是:在某个维度下,对事实进行聚合。
3. 事实表设计哲学
事实类型:
4. 维度设计哲学
- 描述环境,而非过程
- 允许冗余,拒绝复杂 Join
- 必须支持历史回溯
缓慢变化维解决方案:
六、指标体系:从“算数”到“共识”的演进
1. 为什么指标必须标准化
2. 指标分层模型
- 原子指标:定义“怎么算”
- 派生指标:定义“看什么”
- 衍生指标:定义“怎么比较”
七、实时数仓:另一种架构哲学
1. 实时 vs 离线的根本差异
| 维度 |
离线数仓 |
实时数仓 |
| 优先级 |
准确性 |
时效性 |
| 模型稳定性 |
高 |
相对较低 |
| 容错方式 |
重算 |
状态恢复 |
2. 实时数仓的核心挑战
八、数据治理:决定数据仓库能活多久
1. 治理不是附加项
2. 核心治理能力
- 数据质量规则
- 指标口径管理
- 元数据与血缘
- 权限与安全
九、云数据仓库:架构范式的再一次跃迁
1. 核心变化
2. 本质变化
从“自建系统”到“消费能力”。
十、数据集市:组织协作视角下的必然产物
- 数据集市不是小数仓
- 而是**组织边界的技术映射**
结语
- 技术会过时
- 架构会演进
- **抽象能力与建模能力不会**
关联内容(自动生成)
- [/数据技术/数据架构.html](/数据技术/数据架构.html) 数据仓库是数据架构的重要组成部分,两者在企业数据体系建设中相互关联,共同构成完整的数据管理体系
- [/数据技术/数据治理.html](/数据技术/数据治理.html) 数据治理为数据仓库提供质量保障、元数据管理和指标口径统一等关键能力,是数据仓库发挥价值的基础
- [/数据技术/数据建模.html](/数据技术/数据建模.html) 数据建模是数据仓库设计的核心环节,维度建模等方法论直接影响数据仓库的结构和易用性
- [/数据技术/大数据.html](/数据技术/大数据.html) 大数据技术为现代数据仓库提供了更强大的存储和计算能力,支撑海量数据的处理和分析需求
- [/数据技术/数据分层.html](/数据技术/数据分层.html) 数据分层是数据仓库架构设计的关键理念,通过分层实现复杂性控制和变更隔离
- [/数据技术/数据质量.html](/数据技术/数据质量.html) 数据质量是数据仓库的生命线,直接影响分析结果的准确性和业务决策的有效性
- [/数据技术/元数据管理.html](/数据技术/元数据管理.html) 元数据管理为数据仓库提供数据血缘、影响分析等能力,提升数据仓库的可维护性和透明度
- [/数据技术/数据中台.html](/数据技术/数据中台.html) 数据中台是在数据仓库基础上的进一步演进,强调数据的服务化和能力复用
- [/数据技术/数据分析.html](/数据技术/数据分析.html) 数据分析是数据仓库的主要应用场景之一,数据仓库为分析提供稳定、一致的数据服务
- [/数据技术/数据血缘.html](/数据技术/数据血缘.html) 数据血缘追踪数据仓库中数据的流转过程,对于理解数据来源和影响范围至关重要