1. 简介

根据 Allied Market Research 在 2021 年发布的一项研究预测,全球数据仓库市场规模将在 2028 年增长至 511.8 亿美元。

在本教程中,我们将探讨数据仓库(Data Warehouse,简称 DW),这是一种用于分析的集中式数据管理技术。我们将重点介绍数据仓库的架构、关键因素和主要组件,同时将其与数据库(Database)和数据湖(Data Lake)进行对比,并讨论数据仓库最常见的应用场景和用法。


2. 数据仓库的设计

数据仓库的概念最早由 Bill Inmon 在 1970 年代左右提出,其初衷是帮助将原始的非结构化数据转化为有效的决策信息。

定义:数据仓库是一个集中式的组织数据归档系统,用于支持决策任务。其目标是从各种来源(如事务系统、关系数据库等)定期收集、存储和分析有用的信息,以提升企业或组织的运营效率。


2.1 数据仓库的架构

一个典型的数据仓库系统架构如下图所示,主要包括四个核心组件:加载管理器、仓库管理器、查询管理器以及终端用户访问工具:

数据仓库系统架构图

从图中可以看出:

  • 原始数据从多个数据源中提取;
  • 提取后的数据会经过清洗和转换,以符合数据仓库的格式要求;
  • 使用如 EDA(探索性数据分析)、SQL 等标准接口进行数据抽取;
  • 数据仓库定期更新,但不会永久删除历史数据;
  • 存在多个主题导向的数据集市(Data Mart),它们是数据仓库的子集,专注于特定业务领域;
  • 元数据管理(Metadata Management)作为数据仓库的“目录”,用于定位特定数据;
  • 数据仓库最终通过分析、查询、报告、数据挖掘、可视化等工具供终端用户使用。

3. 数据仓库的特性

根据 Bill Inmon 的定义,数据仓库具有以下四大核心特征:

总结:数据仓库是面向主题、集成、随时间变化、非易失的数据集合,主要用于组织决策。


3.1 面向主题(Subject-Oriented)

数据仓库之所以被称为“面向主题”,是因为它可以专注于某一特定业务领域(如产品、客户、销售、供应链等),并生成该领域的分析与报告,而不是处理整个组织的全部信息。


3.2 集成(Integrated)

企业通常希望构建一个集成的数据仓库,统一管理各类数据(如产品、销售、员工等)。数据仓库能将来自不同来源的数据以一致和标准化的方式进行整合,满足这一需求。


3.3 随时间变化(Time-Varying)

数据仓库中的数据都带有时间戳。系统会根据设定的周期更新数据,并保留历史记录。相比之下,事务系统(如 OLTP)通常只保留最新数据。


3.4 非易失(Non-Volatile)

数据仓库的数据一旦写入,通常不会被修改或删除。即使新增数据,历史记录也会保留。这有助于分析过去的数据变化趋势,生成有价值的洞察和可视化结果。


4. 数据仓库的类型

数据仓库主要包括以下三种类型:


4.1 企业级数据仓库(Enterprise Data Warehouse, EDW)

EDW 是一个集中式数据仓库,通常由多个数据库组成,用于按主题、方法或变量对数据进行分类、整理和归档。


4.2 操作型数据存储(Operational Data Store, ODS)

ODS 是 EDW 的补充系统,常用于日常报表、文档、管理和决策支持。它会频繁更新,适合实时或近实时分析。


4.3 数据集市(Data Mart)

数据集市是数据仓库的一个子集,专注于某一特定部门、区域或业务线。通常数据会先从数据集市进入 ODS,再传输到 EDW。


5. OLAP

OLAP(Online Analytical Processing,在线分析处理) 是一种将外部数据加载到数据仓库中,并从中提取有价值信息、支持复杂查询的技术。

OLAP 系统通常依赖数据仓库中的数据进行多维分析,适用于建模、规划、预测等场景。它通过执行复杂查询,从 OLTP 数据库或其他来源中提取大量历史数据,用于数据挖掘和分析。


5.1 OLAP 与 OLTP 的区别

特性 OLAP OLTP
目标 支持决策分析 支持事务处理
数据量 大量历史数据 少量当前数据
查询类型 复杂、聚合查询 简单、高频事务操作
用户数量 少量分析人员 大量终端用户
数据更新 批量更新 实时更新

6. 数据仓库 vs 数据库 vs 数据湖

项目 数据库 数据仓库 数据湖
设计目的 支持单个应用运行 支持跨部门分析 存储原始数据
数据结构 结构化 结构化 结构化 + 非结构化
数据处理流程 ETL(提取、转换、加载) ETL ELT(提取、加载、转换)
应用场景 日常事务处理 战略决策支持 机器学习、预测分析

⚠️ 注意:数据湖适合存储原始数据,便于后续灵活处理,而数据仓库更适合结构化数据的长期分析和战略决策。


7. 数据仓库的优势与局限性

优势:

  • 能处理大量异构数据;
  • 支持历史数据分析;
  • 数据检索速度快;
  • 支持数据清洗、错误识别与修正;
  • 数据格式统一,便于整合与分析。

局限性:

  • 初始搭建成本高,需大量人工参与;
  • 维护和更新成本较高;
  • 对敏感数据的处理支持有限;
  • 灵活性不如数据湖。

8. 数据仓库的应用场景

数据仓库因其高度结构化的特点,被广泛应用于以下领域:

  • 金融与银行:用于分析客户存款、贷款、资金流向等,制定收益优化策略;
  • 电商:提取广告点击、页面浏览、用户行为等数据,优化营销策略;
  • 医疗健康:存储与分析患者病历、治疗记录、药品使用等信息;
  • 农业与零售:用于库存管理、销售预测、供应链优化;
  • 制造与物流:用于生产数据分析、配送路线优化等。

主流数据仓库平台

  • Amazon Redshift
  • Google BigQuery
  • IBM Db2 Warehouse
  • Microsoft Azure Synapse

9. 总结

几乎所有的现代企业都需要数据仓库来提升运营效率和盈利能力。这凸显了其持续的重要性,也说明企业在选择合适的数据仓库技术上需投入足够重视。

在本文中,我们介绍了数据仓库的基本架构和结构,讨论了其核心特性,以及与数据库和数据湖之间的关键区别。我们也探讨了数据仓库的主要优势与限制,并列举了多个实际应用场景。

建议:如果你正在考虑构建企业级数据分析平台,数据仓库是一个不可或缺的基础组件。


原始标题:What Are Data Warehouses?

« 上一篇: 梳排序详解