请使用支持现代 CSS 与 JavaScript 的浏览器播放课件
DBPA · 16.1

数据仓库与联机分析处理

数据仓库整合历史数据,OLAP 提供多维观察

VER. 2608.3 Built with impress.js

学习目标

完成本节后,你应该能够

  1. 01比较 OLTP 与 OLAP 的负载特征
  2. 02解释数据仓库四个基本特征及其更新边界
  3. 03区分 ECTL、常用 ETL 与 ELT 的转换时机,并说明多级数据组织
  4. 04用事实表粒度、维度、度量和时间层级解释数据立方体
  5. 05说明切片、切块、旋转、上卷和下钻
  6. 06比较 MOLAP、ROLAP、HOLAP 以及星型、雪花关系组织
2/15
LEARNING OBJECTIVES

同一业务事实服务两种不同的工作负载

事务环境保证日常业务,分析环境扫描历史并聚合

同一业务事实从 OLTP 复制或装载到分析仓库并服务 OLAP
维度OLTPOLAP
操作细粒度记录查询和更新大范围历史读取和聚合
驱动事务和业务请求管理决策问题
一致性事务一致性严格口径需一致,但可有刷新延迟
响应快速且可预测复杂且可能较长

传统架构通常把 OLTP 与 OLAP 放在不同环境;仓库刷新可能滞后,但指标定义和业务口径必须保持一致

3/15
OLTP AND OLAP

数据仓库组织主题化历史数据

电器销售可以按地区、商品和月份观察已完成订单

订单系统记录交易事实,仓库存储统一口径的历史分析数据;两者用途不同

4/15
DATA WAREHOUSE

四个特征说明仓库数据为何不同

它们共同决定仓库的组织和更新方式

面向主题

围绕商品、顾客、地区等分析对象组织,而不是按单笔事务流程组织

集成

统一金额单位、日期粒度、商品编号和业务口径

不可更新

分析使用期间不做联机事务式修改;新时期仍可通过批量装载增加

随时间变化

持续装载新时期并保留历史变化,综合层随数据刷新或重算

“不可更新”是分析期间的工作方式,不是仓库生命周期内永不增加数据;“随时间变化”强调持续保留和追加历史

5/15
FOUR FEATURES

ECTL、ETL 与 ELT 的数据流程

ECTL 分成抽取、清洗、转换和装载四步;工程上常合并清洗与转换

01

Extract 抽取

从订单、顾客和供应链系统取得记录

02

Clean 清洗

处理缺失、重复、冲突和异常

03

Transform 转换

统一金额单位、日期粒度、商品编号和业务口径

04

Load 装载

写入仓库细节、综合层并维护历史

ECTL 把清洗与转换分列,ETL 常将清洗并入转换,ELT 把转换后置;三者都要统一语义并进行质量检查

6/15
ECTL

数据粒度决定查询细节与速度

细节会随时间沉淀,综合结果服务高频分析

级别典型粒度主要作用与取舍
当前细节最近装入的订单明细追查最新业务;数据量较大
早期细节较早时期的订单明细保留历史证据;访问频率可能较低
轻度综合日/周 × 商品或地区支持常用分析;仍保留较多细节
高度综合月/地区 × 品类快速回答概览问题;需要刷新或重算
Takeaway

当前细节会随时间转入早期细节;综合层与细节层并列服务不同粒度的查询。只有更细粒度数据仍被保留,才能下钻回明细

7/15
DATA LEVELS

数据仓库的五层架构

每一层解决不同的问题,接口把它们连接起来

业务数据源经过 ECTL 进入数据仓库,再由 OLAP 服务器和前台工具提供分析
  1. 01业务源提供订单、顾客和供应链事实
  2. 02ECTL 统一字段、单位、编码和业务口径
  3. 03数据仓库保存细节、综合层与历史
  4. 04OLAP 服务器按维度组织查询并提供多维操作
  5. 05前台工具把结果呈现为报表、比较和可视化
8/15
WAREHOUSE ARCHITECTURE

维度、度量与立方体

电器销售中,时间、地区和商品是维度,销售额是度量

时间、地区和商品构成销售数据立方体的三个维度,单元格保存销售额
  1. 01维度决定观察坐标;时间维可按日 → 月 → 季度 → 年组织层级
  2. 02度量记录坐标组合上的数值,例如销售额;通常可求和、计数或平均
  3. 03数据立方体由多个维度定位单元格,单元格通常保存该粒度的聚合结果

事实表存键和度量;维度表存属性与层级

9/15
MULTIDIMENSIONAL MODEL

切片、切块与旋转

它们改变视图或范围,不改写原始销售事实

切片

固定一个维度取一个值:只看“华东”

切块

在多个维度上选范围:华东 × 空调 × 2026 年第 3 季度

旋转

交换行列或轴:把地区从行换到列,比较方式改变

Takeaway

切片和切块选择子空间,旋转改变排列;聚合层级的变化放到上卷和下钻

10/15
OLAP OPERATIONS

上卷和下钻沿维度层级改变汇总粒度

例:沿时间和地区层级观察电器销售额

上卷

从日汇总到月、从城市汇总到地区;例如把每天销售额合计为月度销售额

下钻

从月展开到日、从地区展开到城市;依赖更细粒度事实仍被保存

下钻需要保留对应的细粒度事实;聚合方法随度量而定:销售额常用 sum,订单数用 count,客单价等指标要先说明平均口径

11/15
OLAP OPERATIONS

MOLAP、ROLAP、HOLAP 的路线

先明确关系组织,再比较多维存储

ROLAP 的基本结构:事实表保存维度键与度量,维度表保存描述属性和层级。星型模式让维度表直接围绕事实表;雪花模式再按层级拆分维表

方式组织方式典型特点
MOLAP直接存多维数组与综合结果多维读取直接;需要维护多维存储
ROLAP事实表连接维度表,用关系操作映射立方体接口灵活;连接与聚合需要优化
HOLAP细节走关系组织,部分综合走多维组织兼顾访问路径;维护路径更复杂

星型与雪花是关系组织方式,不与 MOLAP/ROLAP/HOLAP 同层级:星型连接较少但可能有冗余,雪花层级更规范但连接更多;慢变维还需要代理键和历史版本维护

12/15
MOLAP ROLAP HOLAP

数据仓库与 OLAP 的核心判断链

判断从负载分工开始,再经过数据集成、粒度和多维模型

负载分工

OLTP 保证日常事务,OLAP 扫描历史并聚合

集成与粒度

ECTL/ETL/ELT 统一语义;细节和综合层服务不同粒度

多维分析

事实粒度、维度、度量和时间层级支撑切片、切块、旋转、上卷、下钻

实现取舍

ROLAP 用事实表和维度表;星型、雪花与 MOLAP/HOLAP 是不同层次的组织选择

Takeaway

负载分工 → 数据集成 → 粒度与多维模型 → OLAP 操作 → 实现取舍

13/15
RECAP

本节知识地图

14/15
KNOWLEDGE MAP

本节问题

  1. 01订单既要快写又要按地区、商品、月份汇总,为什么要分 OLTP 与 OLAP?
  2. 02金额单位和日期格式不同,ECTL、ETL、ELT 各在哪一步统一口径?
  3. 03销售汇总事实表中,哪些是维度键,哪些是度量?
  4. 04只看华东、选择华东×空调×季度、地区行列互换分别是什么操作?
  5. 05日销售额到月销售额是上卷;下钻需要保留什么粒度?
  6. 06事实表与维度表的星型/雪花取舍,属于 ROLAP 还是 MOLAP?
15/15
CHECK YOUR UNDERSTANDING