数据仓库理论基础
数据仓库理论基础
文章目录
- 数据仓库理论基础
-
- 一、数据仓库概念
- 二、数据仓库主要特征
-
- 数据仓库特征对比
- 三、OLTP、OLAP
-
- 1. 概念
- OLTP与OLAP核心区别对照表
- 四、数据仓库和数据集市的区别
-
- 数据仓库与数据集市核心区别对照表
- 五、数据仓库分层思想
-
- 1. ODS层(Operation Data Store)
- 2. DW层(Data Warehouse)
- 3. DA层(Data Application)
- 六、ETL 与 ELT 核心区别对照表
一、数据仓库概念
数据仓库(数仓、DW、data warehouse):用于存储、分析、报告的数据系统,旨在构建面向分析的集成化数据环境,为企业提供决策支持。
数据源(Data Sources):各类操作型系统(Operational System)、平面文件(Flat Files)等异构数据。
ETL:对原始数据进行抽取(Extract)、转换(Transform)、加载(Load),统一处理后填充到数据仓库。
数据仓库(Warehouse):存储全企业的集成化主题数据,作为企业级分析基础。
数据集市(Data Marts):从数据仓库中按部门/主题(如采购Purchasing、销售Sales、库存Inventory)抽取数据,形成部门级分析库。
用户应用(Users):基于数据集市或数据仓库开展数据分析(Analytics)、报表(Reporting)、数据挖掘(Mining)等应用。

二、数据仓库主要特征
-
面向主题(Subject-Oriented)
主题是较高层次上对数据进行综合、归类和分析利用的抽象概念。 -
集成性(Integrated)
主题相关的数据通常分散在多个异构的操作型系统中,需要将其整合到数据仓库的统一主题下。 -
非易失性(Non-Volatile,也叫非易变性)
数据仓库是分析数据的平台,而非创造数据的平台,数据一旦入库,通常不会轻易修改或删除。 -
时变性(Time-Variant)
数据仓库的数据会随时间更新,以持续满足决策分析的需要。
数据仓库特征对比
| 特征 | 英文 | 核心含义 | 与传统数据库的区别 |
|---|---|---|---|
| 面向主题 | Subject-Oriented | 按宏观分析领域(如“用户”“商品”)组织数据,是对数据的综合、归类与抽象 | 传统数据库按业务应用(如订单、库存)组织,系统相互分离 |
| 集成性 | Integrated | 将分散在不同业务系统中的异构数据,统一整合到数据仓库的主题下 | 传统数据库各自独立,数据标准、格式不统一 |
| 非易失性 | Non-Volatile | 数据入库后通常不修改或删除,只追加新数据,用于分析而非事务处理 | 传统数据库频繁进行增删改操作,支持业务流转 |
| 时变性 | Time-Variant | 数据会随时间不断更新,包含时间维度,用于追踪变化、支持趋势分析 | 传统数据库只关注当前最新状态,不强调历史时间维度 |
三、OLTP、OLAP
1. 概念
(1)联机事务处理 OLTP(On-Line Transaction Processing)。
定义:On-Line Transaction Processing,针对具体业务在数据库联机的日常操作,主要对少数记录进行查询、修改。
核心目标:完成数据处理,支撑日常业务流转。
用户关注点:操作响应时间、数据安全性、完整性、并发支持的用户数等。
主要载体:传统关系型数据库系统(RDBMS)。
(2)联机分析处理 OLAP(On-Line Analytical Processing)。
定义与目标:全称为 On-Line Analytical Processing,核心目标是开展数据分析,而非日常业务操作。
处理特征:针对特定主题的历史数据,执行复杂的多维分析操作,核心价值是为企业管理决策提供数据支撑。
典型载体:数据仓库是 OLAP 系统的典型应用实例,是实现大规模数据分析的核心基础。
OLTP与OLAP核心区别对照表
| 对比维度 | 联机事务处理(OLTP) | 联机分析处理(OLAP) |
|---|---|---|
| 英文全称 | On-Line Transaction Processing | On-Line Analytical Processing |
| 核心目标 | 支撑日常业务流转,完成具体事务处理,是“业务操作系统” | 对历史数据进行多维分析,为企业决策提供支撑,是“分析决策系统” |
| 操作对象 | 少量业务记录(如单条投保、理赔记录) | 海量历史数据(按主题整合的批量数据) |
| 操作类型 | 查询、新增、修改、删除(频繁事务操作) | 复杂查询、多维统计、趋势分析(无频繁修改/删除) |
| 数据特点 | 分散、异构、实时性高,侧重当前状态,确保数据实时准确以支撑业务正常运转 | 集成、统一、历史化,包含时间维度,基于OLTP产生的历史数据挖掘业务价值 |
| 典型载体 | 关系型数据库(RDBMS) | 数据仓库(Data Warehouse) |
| 核心要求 | 响应速度快、数据安全性高、支持高并发 | 分析效率高、数据完整性强、支持多维钻取 |
四、数据仓库和数据集市的区别
数据仓库与数据集市核心区别对照表
| 维度 | 数据仓库(Data Warehouse) | 数据集市(Data Mart) |
|---|---|---|
| 范围与定位 | 企业级,覆盖全公司所有分析主题,是统一的集成数据中心 | 部门级,面向特定业务部门或分析主题(如采购、销售、库存) |
| 数据来源 | 整合全企业各类操作型系统、文件等异构数据源,经过统一ETL | 通常从数据仓库中抽取,或直接从业务系统抽取,范围更聚焦 |
| 数据规模 | 数据量大、历史跨度长,存储全企业的明细与汇总数据 | 数据量较小,仅存储本部门所需的主题数据 |
| 设计目标 | 为全企业提供统一、一致的分析基础,支持全局决策 | 为特定部门提供快速、便捷的分析能力,满足部门级业务需求 |
| 用户群体 | 企业管理层、数据分析师等,面向全企业用户 | 部门业务人员、部门分析师等,面向特定业务线用户 |
五、数据仓库分层思想
1. ODS层(Operation Data Store)
- 别名:操作型数据层、源数据层、数据引入层、数据暂存层、临时缓存层
- 定位:数据仓库的数据准备区
-
特点:
- 存放未经处理的原始数据,结构与源系统保持一致
- 完成基础数据引入,与数据源系统解耦
- 记录基础数据的历史变化
2. DW层(Data Warehouse)
这一层是数仓的核心,内部又细分为多个子层:
- DWD(明细数据层):对ODS层数据进行清洗、标准化,保留最细粒度的业务明细数据。
- DWB(低粒度汇总加工数据层):基于DWD进行轻度聚合,生成中间层宽表,为后续汇总做准备。
- DWS(高粒度汇总数据层):按主题进行高度汇总,生成面向分析的指标和宽表,如用户行为、交易统计等。
- DM(数据集市/宽表):按部门或业务线(如采购、销售)构建的部门级分析数据层,直接支撑业务应用。
3. DA层(Data Application)
- 定位:数据应用层,直接面向用户和业务场景
-
典型应用:
- KPI监控、账单应用、日志产品应用
- 报表展示、自定义查询
- 数据分析、数据挖掘
六、ETL 与 ELT 核心区别对照表
| 对比维度 | ETL(Extract, Transform, Load) | ELT(Extract, Load, Transform) |
|---|---|---|
| 流程顺序 | 抽取 → 转换 → 加载 | 抽取 → 加载 → 转换 |
| 转换时机 | 在加载到目标仓库前完成数据转换 | 先将原始数据全部加载到目标仓库,再在库内进行转换 |
| 中间存储 | 需要临时数据库/ODS层暂存转换后的数据 | 无专门临时数据库,直接加载到统一集中存储库 |
| 数据规模 | 适合处理结构化、数据量较小的场景 | 适合大数据场景,可处理海量、多源异构数据 |
| 转换位置 | 在独立的ETL服务器/工具中完成转换 | 在目标数据仓库或大数据平台(如Hadoop)内完成转换 |
| 灵活性 | 转换逻辑固定,灵活性较低 | 可按需灵活调整转换逻辑,支持多次、多维度分析 |
| 典型应用 | 传统企业级数据仓库,强调数据质量与一致性 | 大数据时代的数仓,适配快速迭代的数据分析需求 |