Loading......

文章背景图

📘 数据仓库建模与维度建模笔记

2025-10-24
17
-
- 分钟

📘 Week2 · 数据仓库建模与维度建模笔记

1.1 数据仓库建模的意义

数据建模是数据仓库设计的核心环节,它就像整理图书馆或规划城市一样,帮助我们把复杂的数据结构化、有序化。
合理的数据模型可以:

  • 📈 提升查询性能

  • 💰 降低数据冗余与计算成本

  • ⚙️ 提高分析效率

  • ✅ 确保数据口径一致与质量可靠


1.2 数据仓库建模方法论

1.2.1 ER 模型(Inmon 方法)

Bill Inmon(数据仓库之父) 提出,采用 企业级视角 构建 实体 - 关系模型(ER),强调数据的完整性与一致性。

数据库规范化

通过一系列范式(1NF~5NF)减少冗余、提升一致性。
常见三范式:

  • 1NF:字段原子化。

  • 2NF:每个非主键字段完全依赖主键。

  • 3NF:消除传递依赖。

核心思想:

  • 强调规范化设计(1NF~3NF)

  • 表结构多,层次深,利于数据治理

  • 不太适合直接分析场景

📘 应用场景:企业级统一数据平台建设。


1.2.2 维度模型(Kimball 方法)

Ralph Kimball 提出,面向业务分析,采用 事实表(Fact)+ 维度表(Dimension) 的结构。

核心思想:

  • 面向分析,简单直观

  • 性能高,查询快

  • 模型结构清晰:星型 / 雪花模型

📘 应用场景:数据分析、中台建设。


维度建模理论之事实表

2.1 事实表概述

事实表用于记录业务过程中的 度量指标(如销售额、订单数)及其关联的维度(如时间、地区、用户)。
其特点是:

  • 行数多、列数少(长而瘦)

  • 增长快、更新频繁

🔹 常见类型:

  1. 事务型事实表(最细粒度)

  2. 周期快照事实表(定期状态)

  3. 累积快照事实表(业务流程)


2.2 事务型事实表

记录最细粒度的业务事件,如下单、支付、退货。

设计步骤:

  1. 选择业务过程

  2. 定义粒度(每行代表什么)

  3. 确定维度(时间、用户、商品等)

  4. 确定事实(金额、数量等)

缺点:

  • 对存量指标支持较差

  • 跨事务分析效率低(需多表 Join)


2.3 周期快照事实表

记录固定时间周期内的数据状态(如每日库存、账户余额)。

优点:

  • 支持趋势分析

  • 查询效率高

缺点:

  • 不能按时间简单累加(如库存)

事实分类:

  • 可加(销售额)

  • 半可加(库存)

  • 不可加(比例)


2.4 累积快照事实表

用于表示一个完整业务流程中的多个关键节点,如:
下单 → 支付 → 发货 → 收货。

订单 ID

用户 ID

下单时间

支付时间

发货时间

收货时间

订单金额

1001

9527

2025-05-12

2025-05-13

2025-05-15

2025-05-17

499

优点:

  • 支持流程时长分析

  • 避免大表 Join,性能高


维度建模理论之维度表

3.1 概述

维度表描述事实发生的 环境信息(如时间、地区、用户、商品等),是事实表分析的基础。

包含内容:

  • 维度主键(唯一标识)

  • 描述性属性(如名称、分类)


3.2 维度表设计步骤

  1. 确定与事实表关联的维度

  2. 确定维度主表与相关维表

  3. 补充丰富属性(尽量在维表中沉淀)


3.3 维度设计要点

3.3.1 模型结构

类型

特点

适用场景

星型模型

反规范化、性能高

分析类数据仓库

雪花模型

规范化、层级清晰

企业级整合

👉 推荐分析层使用 星型模型


3.3.2 维度变化(慢变维)

方式一:全量快照表

每日保存一份完整维度快照。
✅ 简单易理解,❌ 占用空间大。

方式二:拉链表(推荐)

保存维度生效起止时间段,实现历史追溯。
✅ 节省存储,适合大型维度(用户、商品)。


3.3.3 多值维度与属性

  • 若事实与维度为一对多 → 降低事实粒度。

  • 若属性本身多值 → 可拆多列或键值对存储。


📚 总结

类别

设计目的

优缺点

ER 模型

数据整合与一致性

结构复杂,不适合分析

维度模型

面向分析与性能

简洁高效

事务型事实表

记录明细事件

灵活但复杂

周期快照事实表

记录状态型指标

适合趋势分析

累积快照事实表

支持流程分析

性能高

星型模型

简洁高效

冗余较多

雪花模型

规范清晰

查询性能差


核心理念总结:

“以业务过程为中心,以分析需求为导向,以事实与维度为框架。”

评论交流