4.7 数据仓库与大数据
本篇定位:数据仓库与大数据是数据库的"分析拓展层"——9 年真题直接命中 10+ 题(2018 单54/多85、2019 单71/多96、2020 单47/多94、2021 单57、2022 单55、2023 单52/53、2024 单47、2025 单46/多88),且2021 单57 与 2022 单55 是跨年重复题(总纲附录 C 12 对重复题之一)。2027 预测"金融科技/大数据/机器学习"7 题高权重区间,数据仓库与 NoSQL 是其中基础盘。题型:①数据仓库四大特征;②OLAP vs OLTP;③ETL 流程;④NoSQL 特性;⑤大数据组件(Hadoop/Spark)。 数据依据:
01-真题/真题文本/+01-真题/考点汇总/;答案以专业判断为准(2020 单47 常见答案有争议,本书判 C)。 阅读提示:与第 8 篇金融科技(Hadoop/MapReduce/NoSQL/机器学习)强衔接,本章打数据库视角的基础,第 8 篇展开技术细节。
一、考点定位(本章真题统计)
| 考点 | 真题锚点 | 频次 | 考法 |
|---|---|---|---|
| 数据仓库特征 | 2019 多96、2020 多94 | 2 年 2 题 | 面向主题/集成/非易失/时变;面向事务是 OLTP |
| OLAP vs OLTP | 2019 单71、2021 单57、2022 单55、2025 多88 | 4 年 4 题 | 用途/面向对象/响应/驱动方式辨析 |
| OLAP 基本操作 | 2018 单54 | 1 年 | 上钻/下钻/切片/旋转(平移不是) |
| ETL 流程 | 2018 多85、2020 单47 | 2 年 | 抽取/转换/清洗/装载 |
| NoSQL 特性 | 2023 单52 | 1 年 | BASE 特性(非 ACID) |
| 大数据组件 | 2023 单53 | 1 年 | Hadoop vs Spark(I/O vs 内存) |
| 数据仓库应用 | 2024 单47 | 1 年 | 分析资金流动选数据仓库 |
| 关联分析 | 2025 单46 | 1 年 | Apriori 属关联分析 |
命题规律:本章几乎年年 1–2 题,集中在数据仓库四特征与 OLAP/OLTP 辨析(4 年 4 题,含 1 对跨年重复)。2027 预测 1–2 题:数据仓库特征、OLAP/OLTP 辨析、NoSQL。核心能力:OLAP=分析决策(读多写少、面向决策者)、OLTP=事务处理(写多、面向操作人员)——一张对比表打天下。
二、知识框架(先搭骨架)
数据仓库(Data Warehouse, DW)= 面向主题的、集成的、非易失的、时变的
数据集合,用于支持决策分析(2019 多96 ABCD)
├── 四大特征(必背)
│ ├── 面向主题:按业务主题组织(客户/产品/销售),非按事务
│ ├── 集成:数据来自多个异构源,统一格式(去重/统一编码)
│ ├── 非易失(稳定):数据只读不更新(历史快照)
│ └── 时变:随时间定期更新,反映历史变化
├── 与数据库(OLTP)对比(2021 单57、2022 单55、2025 多88)
│ ├── OLTP:面向操作人员、写多读少、响应快、应用驱动
│ └── OLAP:面向决策者、读多写少、响应合理、分析驱动
├── 三层体系(2025 术语):底层数据库服务器 → 中间层 OLAP 服务器 → 顶层前端工具
│ └── 中间层两种实现:ROLAP(扩展的关系 DBMS 提供多维支持)/MOLAP(专用多维服务器直接支持)
└── ETL(2018 多85)
├── E 抽取(Extract):从各业务系统取数
├── T 转换(Transform):含清洗(子步骤)+统一格式/编码转换
├── L 装载(Load):加载入数据仓库
└── 2020 单47:纠正"略微不一致但可纠正"的数据=数据清洗(机构标 A 属答案错,其解析正文本身写的是"经过清洗")
OLAP 基本操作(2018 单54)
├── 上钻(roll-up):汇总到更高层次(月→季度→年)
├── 下钻(drill-down):细分到更低层次(季度→月)
├── 切片(slice):固定一个维度看数据
├── 切块(dice):固定多个维度
└── 旋转(pivot):交换维度视角——"平移"不是!(2018 单54)
NoSQL(2023 单52)
├── 非关系型数据库:Key-Value、文档、列族、图
├── 特性:BASE(基本可用/软状态/最终一致)——非 ACID
├── 不常用 JOIN、架构不统一
└── 代表:Redis、MongoDB、HBase、Cassandra
大数据组件(2023 单53)
├── Hadoop:磁盘 I/O 为主(MapReduce 落盘),适合离线批处理
├── Spark:内存计算为主,更快(迭代/实时)
└── HDFS:分布式文件系统(存储)
一句话记忆:数据仓库四特征(面向主题/集成/非易失/时变)→ OLAP 分析决策 vs OLTP 事务处理 → ETL 三步(抽取/转换/装载)→ OLAP 五操作(上钻下钻切片切块旋转,无平移)→ NoSQL=BASE 非 ACID → Hadoop 吃 I/O、Spark 吃内存。
三、考点详解
3.1 数据仓库的四大特征(2019 多96、2020 多94,必考)
精确定义:数据仓库 = 面向主题的、集成的、非易失的、时变的数据集合,用于支持决策分析。
2019 多96(选 ABCD):数据仓库的基本特征 = 面向主题的、集成的(A/B 对)+ 非易失的(相对稳定,不更新)+ 时变的(反映历史变化,随时间更新)。
2020 多94(选 ACD):数据仓库的特点 = 面向主题的(A 对)、反映历史且随时间变化(时变,B 对)、数据相对稳定(C 对);"面向事务的"是错误说法(D 项)——面向事务的是 OLTP,不是数据仓库。
口诀:数据仓库四特征=主题、集成、稳定(非易失)、时变;面向事务=OLTP 不是它。
3.2 OLAP vs OLTP(2021 单57、2022 单55、2025 多88,必考大户)
精确定义:
- OLTP(联机事务处理):传统关系数据库的主要应用——日常事务处理(银行交易、订单录入),写多读少、响应快、面向操作人员、应用驱动;
- OLAP(联机分析处理):数据仓库的主要应用——复杂分析、决策支持(趋势分析、预测),读多写少、响应合理、面向决策者、分析驱动。
2021 单57 = 2022 单55(跨年重复,选 B):OLAP 与 OLTP 的区别——OLAP 要求响应时间合理、OLTP 要求响应时间快(B 对);A"OLAP 针对数据库、OLTP 针对数据仓库"反了;C"OLAP 用于更新事务"反了;D"OLAP 面向操作人员"反了。
2025 多88(选 ACD):
- ✅ OLTP 事务量大但简单重复(A 对);
- ❌ OLAP 的最终数据来源与 OLTP 不一样(B 错误——都源于底层数据库:OLAP 数据来自 OLTP 系统的历史数据经 ETL 进入数据仓库);
- ✅ OLAP 面对决策高层人员(C 对);
- ✅ OLTP 是应用驱动的(D 对)。
口诀:OLTP=操作员日常事务(快);OLAP=决策者分析挖掘(合理)。来源都一样,只是加工方式不同。
3.2.1 数据仓库的三层体系与 OLAP 的两种实现(补强,2025 术语)
三层体系(记忆钩子:底层存、中间算、顶层看):
| 层 | 名称 | 职责 |
|---|---|---|
| 顶层 | 前端工具(报表 / 查询 / 分析界面) | 面向用户展示与交互 |
| 中间层 | OLAP 服务器 | 提供多维分析能力(上钻/下钻/切片/切块/旋转都在这一层实现) |
| 底层 | 数据库服务器 | 存放数据仓库的数据 |
中间层的两种实现(必背区别):
| 实现 | 全称 | 多维支持怎么来 | 一句话 |
|---|---|---|---|
| ROLAP | Relational OLAP(关系型 OLAP) | 由扩展的关系型 DBMS 提供(星型/雪花模型+物化视图+位图索引) | 多维分析压在关系库上做,明细不另存 |
| MOLAP | Multidimensional OLAP(多维 OLAP) | 由专用的多维服务器直接支持多维存储(多维数组/立方体) | 数据另存成多维立方体,查询快但容量受限 |
| (HOLAP) | Hybrid OLAP(混合) | 明细留关系库、汇总进多维库 | 两者混合(了解即可) |
口诀:三层=底层存、中间算、顶层看;ROLAP 靠关系库、MOLAP 靠专用多维存储。 ⚠️ 易错:OLAP 服务器不必自存全部明细(ROLAP 就把明细留在关系库)——"OLAP 服务器必须保存全部明细"是错话。
3.3 OLAP 的基本操作(2018 单54)
2018 单54 考"不属于":OLAP 基本操作 = 上钻、下钻、切片、旋转;"平移"不是(选平移)。
| 操作 | 含义 |
|---|---|
| 上钻(roll-up) | 汇总:月 → 季度 → 年(层次升高、粒度变粗) |
| 下钻(drill-down) | 细分:月 → 日 → 时(层次降低、粒度变细) |
| 切片(slice) | 固定一个维度值,看剩余维度的数据 |
| 切块(dice) | 固定多个维度值 |
| 旋转(pivot) | 交换维度在报表中的位置(行列互换) |
口诀:OLAP 五操作=上钻下钻切片切块旋转;"平移"是干扰项。
3.4 ETL 与数据清洗(2018 多85、2020 单47)
精确定义:ETL = 从各业务系统抽取(Extract)→ 转换(Transform)→ 装载(Load)数据到数据仓库的过程(2018 多85 还含清洗,选抽取/转换/清洗/装载四阶段)。
🔴 先把"清洗到底属不属于转换"这件事一次讲清(老魏 11-10 追问:框架里把清洗放在 T 下面,怎么又单列成题)
不矛盾。 原因是"归属"和"命名"是两个层面:
| 层面 | 表述方式 | 清洗的位置 |
|---|---|---|
| 讲三个字母(ETL) | E 抽取 → T 转换 → L 装载 | 清洗是 T 内部的一个子步骤(T = 清洗 + 格式/编码转换 + 标准化) |
| 讲建设流程(2018 多85 真题口径) | 抽取 → 转换 → 清洗 → 装载 四阶段 | 清洗被单列成一道工序(因为脏数据工作量大,要单独说、单独干) |
一句话:清洗是"T 阶段里的一个子步骤",同时它本身是一个有专名的动作——就像"刹车是驾驶的一部分",但问"减速这个动作叫什么",答案仍然是"刹车"。 所以框架图把它画在 T 下面、真题又把它单列成阶段,两处都对。
清洗 vs 转换,分工判据(问"哪个动作"时按这张表判):
| 管的是 | 典型操作 | 关键词 | |
|---|---|---|---|
| 数据清洗(Cleaning) | 数据的质量:错、脏、重复、不一致、缺失 | 去重、纠正错值、修补缺失、消除"同一事实两种说法" | 纠正/去脏/一致化 |
| 数据转换(Transformation) | 数据的形式与结构:格式、单位、粒度、编码体系 | 日期格式统一为 YYYY-MM-DD、元→万元、字段合并/拆分、汇总、按仓库模型改写 | 格式/换算/重组 |
判据只有一句:"这数据本身错了/不自洽,要把它弄干净" → 清洗;"数据是对的,只是和仓库要求的样子不一样" → 转换。
2020 单47(原题已核原文):数据仓库在收集数据过程中,会遇到一些略微不一致但可以纠正的数据,纠正的过程称为( ) A. 数据转换 B. 数据抽取 C. 数据清洗 D. 数据装载
- 本题答案:C(数据清洗) ——"纠正不一致"正是清洗的定义(题干里的"纠正"就是判据)。
- ⚠️ 机构解析给的是 A,但它自己的解析正文写着:"获取到的数据经过清洗,去掉'脏数据',保持数据的一致性"——文字说的是清洗,答案却标转换,自相矛盾。所以这不是"两种说法",是机构答案错了。
- 📌 考场处置:选项里同时有"清洗"和"转换"时,按"纠正"二字选清洗;若某年只给了"转换"没给"清洗",才退选转换。
口诀:ETL=抽取转换装载;T 里含清洗;但"纠正不一致"这个动作的名字=数据清洗。
3.5 NoSQL 与大数据组件(2023 单52、单53)
NoSQL(2023 单52,选 C):
- NoSQL 数据库保证 BASE 特性(基本可用、软状态、最终一致)——不是 ACID(B 错);
- 各种 NoSQL 架构不统一(A"统一架构"错);
- 不经常使用 JOIN(D 错——NoSQL 弱化表间连接,靠冗余/嵌套)。
- 代表:Redis(Key-Value)、MongoDB(文档)、HBase(列族)、Neo4j(图)。
Hadoop vs Spark(2023 单53,选 B):差异主要在于数据计算时依赖 I/O 还是内存——Hadoop(MapReduce)中间结果落盘(磁盘 I/O),Spark 中间结果放内存(快得多);"分别擅长批分析和实时"(D)不准确(Spark 也能批处理);"使用场景分别是 OLTP 和 OLAP"(C)错。
2024 单47(选 B):分析银行资金流动 → 数据仓库(整合多源金融数据、支持多维分析);关系型数据库/流数据库/图数据库在多维分析上性能受限。
2025 单46(选 C):Apriori 属关联分析算法(找"购物篮"关联规则);K-means 聚类、SVM 分类、EM 估计都不是。
Bloom Filter(布隆过滤器,2021 多91,补强):用一个很长的二进制位数组 + 一组随机映射函数判断"某元素可能在集合中"。
| 特性 | 说明 |
|---|---|
| 可加入 | 插入=把该元素的多个哈希位置同时置 1 |
| 不可删除 | 一个元素对应多个位,清位会误伤别的元素 ⇒ 要删只能整体重建 |
| 有误算率 | 说"不存在"一定不存在;说"存在"可能不存在(false positive) |
| 空间极省 | 常用于缓存穿透拦截、URL 去重、黑名单预筛 |
⚠️ 2021 多91 的错项:"没有误算率""可以在其中删除元素"——两句都错。正确项:是位数组+随机映射函数、有一定误算率。
3.6 数据治理与数据质量(补强;2020 单72)
治理目标:提升数据质量、保障安全合规,让数据可用、可共享、可追溯。
治理范围六件套:数据标准(统一编码/口径)、元数据(数据的数据:结构、来源、血缘)、主数据(跨系统共享的核心实体:客户/机构/产品)、数据质量、数据目录(便于发现与使用)、安全与生命周期。
数据质量六维度(必背):
| 维度 | 含义 |
|---|---|
| 准确性 | 值与真实情况相符 |
| 完整性 | 必要字段无缺失 |
| 一致性 | 跨记录、跨系统口径一致 |
| 及时性 | 更新满足时效 |
| 唯一性 | 无不应存在的重复记录 |
| 有效性 | 符合格式、范围与业务规则 |
- 主数据 vs 元数据 vs 业务数据:主数据是"谁"(客户/产品),元数据是"关于数据的数据",业务数据是"发生了什么"(交易流水)。
- 2020 单72:数据资产所有者的首要任务=确定数据的敏感性等级(先分级才能差异化管控)。
CAP 与 BASE(补强,边界必背):C 一致性、A 可用性、P 分区容错在发生网络分区时不可同时满足("三选二"是分区条件下的说法,正常联网时不是只能有两者)。
- CP:断网时宁可拒绝部分请求也不让数据不一致(银行账务);AP:断网时继续受理、恢复后对账(互联网业务)。
- BASE=基本可用(B)+软状态(S)+最终一致(E)——NoSQL 的常见取舍;最终一致不等于不一致(无新更新时会收敛)。
- 2PC(两阶段提交):协调者先"准备"、再"提交/回滚",解决跨节点原子性;代价是同步阻塞与协调者单点。
四、易错坑汇总(命题人惯用陷阱)
- 面向事务的是 OLTP,不是数据仓库(2020 多94)——"数据仓库面向事务"是错误说法(数据仓库面向主题)。
- OLAP/OLTP 对象(2021 单57、2022 单55)——OLAP 面向决策者、OLTP 面向操作人员;"OLAP 面向操作人员"错误。
- OLAP/OLTP 用途——OLAP 分析决策、OLTP 更新事务;"OLAP 用于更新事务"错误(2021 单57 C 项)。
- 数据来源(2025 多88)——OLAP 与 OLTP 都源于底层数据库;"最终数据来源不同"是错误说法(OLAP 数据=OLTP 历史数据经 ETL 进入仓库)。
- OLAP 基本操作无"平移"(2018 单54)——上钻/下钻/切片/旋转是,平移不是。
- ETL 中"纠正不一致"=清洗(2020 单47)——判据是题干的"纠正"二字;机构标 A 是答案错(其解析正文写的是"经过清洗")。⚠️ 别与"清洗是否属于转换"混为一谈:清洗是 T 阶段的子步骤,同时是一个有专名的动作,两者不矛盾。
- NoSQL=BASE 非 ACID(2023 单52)——"NoSQL 保证 ACID"错误;"NoSQL 常用 JOIN"错误;"架构统一"错误。
- Hadoop vs Spark 核心差异=I/O vs 内存(2023 单53)——"不存在差异""分别 OLTP/OLAP"错误;Hadoop 也用于离线批处理(非实时)。
- 数据仓库数据"非易失"——是"用户分析时不更新",不是"永远不会更新"(时变=定期更新);"数据仓库数据永不更新"绝对化错误。
- Apriori=关联分析(2025 单46)——别把聚类(K-means)、分类(SVM)、降维(PCA)混进来。
五、横向扩展(防漏网:本章边界内、真题尚未考但可能补考的点)
说明:横向扩展覆盖"大纲范围内但 9 年真题未考过"的知识,标注【新增概率】供取舍。
- 数据仓库 vs 数据库(OLTP)五维对比【高】:用途/数据/响应/面向/更新——对比表题高概率(2025 多88 已考 OLAP/OLTP,数据库 vs 数据仓库是变体)。
- 数据挖掘四方法【高】:分类/聚类/关联规则/时序模式(2023 多86 考过全选)——与第 8 篇机器学习衔接。
- HDFS 特性【中】:分布式文件系统、副本机制(默认 3 副本)、适合大文件——2020 单48 考过"RAID 不属于 HDFS 高可靠机制"。
- MapReduce 模型【中】:Map(映射)+ Reduce(归约)两阶段——名词/流程题。
- 数据湖 vs 数据仓库【中】:数据湖存原始格式(Schema-on-read)、仓库存结构化(Schema-on-write)——新兴概念,2027 可能引入。
- 数据集市【低】:部门级小型数据仓库——名词辨析。
- 维度建模(星型/雪花)【低】:事实表+维度表——数据仓库建模名词。
- 流处理(Flink/Kafka Streams)【中】:实时流式处理 vs 批处理——与 Spark Streaming 对比(2023 单53 的延伸)。
六、真题演练(代表性真题 + 解析)
例 1(2019 多96) 数据仓库的基本特征包括(口径已核)。 A. 面向主题的 B. 集成的 C. 非易失的 D. 时变的
答案:ABCD(全选)。数据仓库四大特征:面向主题、集成、非易失(稳定)、时变——用于决策分析。口诀:主题集成稳定时变。
例 2(2021 单57 = 2022 单55,跨年重复) 联机分析处理(OLAP)与联机事务处理(OLTP)的区别是(口径已核)。 A. OLAP 针对数据库,OLTP 针对数据仓库 B. OLAP 要求响应时间合理,OLTP 要求响应时间快 C. OLAP 主要用于更新事务,OLTP 用于分析数据 D. OLAP 面向操作人员,OLTP 面向决策人员
答案:B。OLAP(分析决策)要求响应合理(复杂查询耗时)、OLTP(事务处理)要求响应快。A/C/D 全部反了(OLAP 针对数据仓库、用于分析、面向决策者)。口诀:OLAP 分析慢一点没事,OLTP 事务必须快。
例 3(2025 多88) 关于 OLAP 和 OLTP 的叙述中正确的有(口径已核)。 A. OLTP 事务量大但简单重复 B. OLAP 的最终数据来源与 OLTP 不一样 C. OLAP 面对决策高层人员 D. OLTP 是应用驱动的
答案:ACD。B 错误——OLAP 与 OLTP 最终都源于底层数据库(OLAP 数据=OLTP 历史数据经 ETL 进仓库)。口诀:来源相同、加工不同。
例 4(2018 单54) 数据仓库中,以下(口径已核)项不属于 OLAP 的基本操作。 A. 上钻 B. 下钻 C. 切片 D. 平移
答案:D。OLAP 基本操作=上钻、下钻、切片(切块)、旋转;"平移"不是(干扰项)。口诀:上钻下钻切片旋转,平移靠边。
例 5(2023 单52) 以下关于 NoSQL 数据库的说法中,正确的是(口径已核)。 A. 各种 NoSQL 数据库具有统一的架构 B. NoSQL 数据库保证 ACID 特性 C. NoSQL 数据库保证 BASE 特性 D. NoSQL 数据库经常使用 JOIN 操作
答案:C。NoSQL 保证 BASE(基本可用/软状态/最终一致),非 ACID;架构不统一、不常用 JOIN。口诀:NoSQL=BASE,关系库=ACID。
例 6(2023 单53) Hadoop 和 Spark 的差异是(口径已核)。 A. 不存在差异 B. 数据计算时主要依赖 I/O 还是内存 C. 使用场景分别是 OLTP 和 OLAP 场景 D. 分别擅长跑批分析和实时计算
答案:B。Hadoop(MapReduce)中间结果落盘(依赖 I/O)、Spark 中间结果在内存——核心差异。口诀:Hadoop 吃磁盘、Spark 吃内存。
例 7(2020 单47,⚠️ 易混题) 数据仓库在收集数据过程中,会遇到一些略微不一致但可以纠正的数据,纠正的过程称为(口径已核)。 A. 数据转换 B. 数据抽取 C. 数据清洗 D. 数据装载
答案:C(数据清洗)。题干"纠正略微不一致"=清洗的定义;转换管的是格式/单位/结构,不管"对错"。⚠️ 机构标 A 是答案错——其解析正文写的是"经过清洗,去掉脏数据"。**口诀:纠错=清洗,换格式=转换。洗、换格式=转换。
七、本章小结
- 一条主线:数据仓库四特征(主题/集成/非易失/时变)→ OLAP vs OLTP(决策分析 vs 事务处理)→ ETL(抽取/转换/装载,清洗纠错)→ OLAP 操作(上钻下钻切片旋转)→ NoSQL(BASE)→ Hadoop/Spark(I/O vs 内存)。
- 必背对比:OLAP=决策者/读多写少/响应合理/分析驱动;OLTP=操作员/写多/响应快/应用驱动(2021 单57=2022 单55 跨年重复)。
- 必背判定:数据仓库四特征(2019 多96、2020 多94);NoSQL=BASE(2023 单52);Hadoop 依赖 I/O、Spark 依赖内存(2023 单53);Apriori=关联分析(2025 单46)。
- 易混记录:2020 单47 常见误选 A(转换)vs 本书 C(清洗)。
- 衔接预告:数据挖掘四方法/HDFS/MapReduce → 第 8 篇金融科技与监管科技(8.2 云计算大数据、8.3 机器学习)。