什么是数据仓库?

2024 年 10 月 11 日

作者

Matthew Kosinski

Enterprise Technology Writer

什么是数据仓库?

数据仓库是将多个来源的数据聚合到单一、集中和一致的数据存储中的系统。数据仓库有助于为数据分析商业智能 (BI)数据挖掘机器学习 (ML) 以及人工智能 (AI) 项目准备数据。

企业级数据仓库系统使组织能够以标准数据库无法实现的方式对大量数据(PB 级或更多)进行强大的分析。数据可以是结构化、半结构化的,也可以是非结构化的。数据可以从多个数据库输入仓库,包括客户关系管理 (CRM)库存销售点 (POS)供应链管理系统。

三十多年来,数据仓储系统(有时也称为企业数据仓库 (EDW) 系统)一直在为商业智能工作提供支持。它们的功能主要在于从其他来源提取数据、清理和准备数据,以及在关系数据库中加载和维护数据。

传统上,数据仓库通常托管在本地大型机上。如今,许多数据仓库都托管在云中,并作为云服务提供。

数据仓库的发展

数据仓库诞生于 20 世纪 80 年代,目的是通过以一致的格式提供综合交易数据来优化数据分析。随着商业应用程序功能的发展和新数据源(包括万维网、社交媒体和物联网 (IoT))的激增,对更大的存储空间和更快分析的需求也日益增长。

随着数据仓库不断发展以支持更大的数据量和更细粒度的数据,组织内越来越多的团队要求直接访问数据以实现自助分析功能。

许多组织意识到,他们的旧版数据仓库无法管理这些新的庞大工作量。而且,由于许多数据仓库只存储结构化数据,分析的丰富性可能会受到限制。为此,出现了更灵活的替代方案,包括云原生数据仓库和湖仓一体。(有关更多信息,请参阅“湖仓一体与数据仓库”。)

小球在轨道上滚动的三维设计

最新的 AI 新闻 + 洞察分析

在每周的 Think 时事通讯中,发现专家精选的有关 AI、云等的洞察分析和新闻。 

数据仓库架构

为了快速高效地处理数据,数据仓库通常采用三层架构。

底层

此层是数据从不同数据源流入数据仓库服务器并存储的地方。数据通常通过一个称为提取、转换、加载 (ETL) 或有时称为提取、加载、转换 (ELT) 的过程来移动。这些过程以不同的方式执行,但它们都使用自动化将数据移动到仓库并准备用于分析。

中层

此层传统上围绕分析引擎构建,最常见的是在线分析处理 (OLAP) 系统,旨在提供快速的分析和查询速度。此层可使用三种类型的 OLAP 模型:

  • 关系在线分析处理 (ROLAP),可对关系型数据库进行多维数据分析。
  •  
  • 多维在线分析处理 (MOLAP) 使用基于数组的多维存储空间引擎来创建数据的多维视图。
  •  
  • 混合在线分析处理 (HOLAP),融合了 ROLAP 和 MOLAP 功能。

 

所使用的 OLAP 模型类型取决于所使用的数据库系统类型。

顶层

此层包括一个前端用户界面或报告工具,使用户能够对其业务数据进行专门的数据分析。自助式商业智能有多种用途,如根据历史数据生成报告、识别新机遇或找出流程瓶颈。

了解 OLAP 和 OLTP

大多数数据仓库都使用 OLAP 系统来支持分析。OLAP 软件可以从数据仓库等统一、集中的数据存储中对大量数据进行高速多维分析。

一项业务数据通常有多个维度。例如,销售数据可能包括与地点(地区、国家和商店)、时间(年、月、周和日)或产品(品牌、类型)相关的多个维度。

在传统的关系数据库中,数据以行列表的形式组织,这些表每次只能表示两个维度,即行一个维度,列一个维度。这可能会使分析变得繁琐。

然而,OLAP 系统允许用户同时沿多个维度分析数据,从而实现更快的处理速度和更有见地的分析。OLAP 的常见用途包括数据挖掘和其他商业智能应用程序、复杂的分析计算、预测场景、预算编制和预测规划。

OLAP 不同于在线交易处理或 OLTP。OLTP 系统实时跟踪大量用户进行的大量交易。OLTP 和 OLAP 之间的主要区别在于,OLTP 系统主要是为获取数据而设计的,而 OLAP 系统则分析已经获取的数据。

OLTP 系统通常使用关系数据库来记录交易,例如:

  • 银行业务和 ATM 交易
  • 电子商务和店内购物
  • 酒店和机票预订

 

虽然数据仓库一般不涉及 OLTP 系统,但 OLTP 系统记录在数据库中的数据通常会被传送到仓库,由 OLAP 系统进行分析。

AI Academy

数据管理是生成式 AI 的秘诀吗?

深入了解为什么高质量数据对于成功使用生成式 AI 至关重要。

数据仓库中的架构

数据库模式定义了数据在数据库或数据仓库中的组织方式。数据仓库中使用的模式结构主要有两种:星形模式和雪花模式。

星形模式和雪花模式都是旨在优化数据检索速度的维度数据模型。维度模型增加了冗余,以更轻松地查找用于报告和检索的信息。这种建模通常用于各种 OLAP 系统。

星形架构

该模式由一个事实表(包含可测量的项目,例如销售的产品和货币销售金额)和维度表(即显示如何对事实进行分组和组织的参考信息,例如销售日期和销售对象行业)组成。

在图表中,事实表可能位于星形图案的中间。星形模式被认为是最简单且最常见的模式类型,其查询速度更快,使用户受益匪浅。

雪花模式

雪花模式是数据仓库中使用的另一种组织结构,虽然没有得到广泛采用。在这种情况下,事实数据表连接到多个标准化维度表,其中包含有关中央事实数据表中事实的描述性数据。这些维度表也有子表。

这种更复杂的分支图案就像雪花一样。雪花型架构的用户可享受到较低水平的数据冗余性,但这会以降低查询性能作为代价。

数据仓库架构的组件

大多数数据仓库会围绕关系数据库系统进行构建,且要么位于本地要么位于云端,而数据则会在其中进行存储和处理。典型的数据仓库具有以下组件:

  • 数据层(或中央数据库)
  • 访问工具
  • 提取、转换和加载 (ETL) 工具
  • 元数据
  • 沙盒
  • API 层

 

数据层(或中央数据库)

数据层或中央数据库是数据仓库的核心,并由所有其他组件支持。数据可以从业务应用程序、电子邮件列表、网站或任何其他关系数据库中输入。数据实际存储在一台或一组服务器上。

数据层可以分割数据段,使用户只能访问他们需要的数据。例如,销售团队通常无法访问人力资源团队的数据,反之亦然。

通常,数据仓库内置了数据治理和安全功能,因此组织不需要做太多的定制数据工程工作就能实现这些功能。随着来自不同来源的新数据被添加到仓库中,组织可能需要随时间更新数据治理原则和安全措施。

访问工具

访问工具连接到数据仓库以提供业务用户友好型前端。这可能包括仪表板、报告和数据可视化工具,使数据分析师和业务用户能够与数据进行交互、提取洞察。此类工具的示例包括 Tableau、Looker 和 Qlik。

提取、转换和加载 (ETL) 工具

ETL 工具可帮助将数据从数据源移动到数据仓库。数据首先从其来源“提取”,移动到暂存区,在那里进行清理和准备(或“转换”),然后“加载”进入仓库。

ETL 工具可将数据转换成一致的格式,以便在仓库内对其进行高效分析和查询。例如,可以从多个客户数据库中提取数据,然后转换为通用格式,这样所有客户记录都具有相同的字段。

数据处理框架工具(例如 Apache Spark)可以帮助管理数据转换。

由于数据仓库主要存储结构化数据,因此在将数据转移到仓库之前,通常会对数据进行转换。虽然有些仓库可以使用提取、加载、转换 (ELT) 流程,即先将数据加载到仓库,然后再进行转换,但这种流程更常用于数据湖,因为数据湖不需要标准化的数据格式。(有关更多信息,请参阅“数据湖与数据仓库”。)

元数据

元数据是指有关数据的数据。大致而言,它可对系统中存储的数据进行描述,以便其可供搜索。元数据包括作者、文章的日期或位置、创建日期和文件大小等特征。元数据及其管理系统有助于组织数据,使其可用于分析。

沙盒

一些数据仓库提供了与实时数据隔离的沙盒。它可能被用作测试环境,包含生产数据的副本和相关的分析和可视化工具。数据分析师和数据科学家可以在沙盒中试验新的分析技术,而不会影响其他用户的数据仓库运营。

API 层

应用程序编程接口 (API) 的连接层可以帮助仓库从组织来源获取数据,并提供对可视化和分析工具的访问。

数据仓库与其他类型的数据存储的对比

数据仓库、数据库、数据湖、数据市场和湖仓一体这些术语有时互换使用。虽然这些系统极为相似,但却存在重要区别。

数据库与数据仓库

数据库就像文件柜,主要用于快速查询和交易处理,而非分析。数据库通常会作为特定应用程序的集中数据存储,而数据仓库则可存储来自组织内任意数量应用程序的数据。

数据库专注于捕获实时数据,而数据仓库的范围更广,可以捕获历史数据,但有时也捕获当前数据,以进行预测分析、机器学习和其他高级分析。

数据湖与数据仓库

数据湖是一种没有预定义模式的大量原始数据的存储解决方案。数据湖通常包含非结构化数据和半结构化数据,例如文档、视频、物联网 (IoT) 日志和社交媒体帖子。通常在大数据平台上构建,例如 Apache Hadoop

数据湖的主要设计目的是为大量数据提供低成本存储空间。为了降低存储成本,它们通常不会像仓库那样转换数据或进行优化分析。

数据 市场 与数据仓库

数据市场是一种数据仓库,它包含特定于具体业务线或部门的数据,而不是整个企业的数据。

由于数据市场包含较少的数据,因此在处理更广泛的数据仓库数据集时可让某一部门或业务线更快地发现更为集中的洞察信息。

例如,营销团队可能使用数据市场来定义理想的目标人群,而产品团队可能使用数据市场来分析库存模式。

湖仓 一体与数据仓库

湖仓一体是一种数据平台,它将数据仓库和数据湖的各个方面(即数据湖泊的灵活性和数据仓库的高性能)融合到一个数据管理解决方案中。湖仓一体还可增加共享元数据、分布式结构化查询语言 (SQL) 引擎以及内置治理和安全控制等功能。

开源技术的出现,以及减少数据重复和复杂 ETL 管道的愿望,促进了湖仓一体的发展。通过将数据湖和数据仓库的主要功能整合到一个数据解决方案中,数据湖可以帮助加快数据处理速度,支持机器学习、数据科学和 AI 工作量。

数据仓库的类型

云数据仓库

云数据仓库

基于云的数据仓库是为在云中运行而构建的。它通常作为托管数据存储服务提供给组织,其中数据仓库基础设施由云公司管理。该组织不需要在硬件或软件上进行前期投资,也不需要管理自己的系统。云服务通常也提供灵活的定价。

随着越来越多的组织使用云计算服务并寻求减少其内部数据中心的占用空间,基于云的数据仓库变得越来越受欢迎。

内部或许可数据仓库

企业可以购买数据仓库许可证,然后将数据仓库部署为自己的本地基础设施。虽然这通常比云数据仓库服务更昂贵,但对于希望对数据进行更多控制或需要遵守严格的安全或数据隐私标准的政府实体、金融机构或其他组织而言,这可能是一个不错的选择。

数据仓库设备

数据仓库设备是一种预先集成的硬件和软件捆绑包,通常包括中央处理器 (CPU)、存储设备、操作系统和数据仓库软件,企业可以将其连接到网络并立即开始使用。

在前期成本、部署速度、可扩展性和数据管理控制方面,数据仓库设备通常介于云实施和本地部署实施之间。

数据仓库的用例

数据仓库可以通过快速自助服务为整个组织的团队提供洞察分析和信息,从而实现多种用例。

  • AI 和机器学习
  • 商业智能
  • 数据集成
  • 行业特定用途

 

人工智能和机器学习

数据仓库可以支持各种 AI 和机器学习应用程序。数据科学家可以分析历史数据,开发预测算法。他们可以教机器学习应用程序软件识别模式,例如可能表明欺诈行为的可疑账户活动。他们可以使用经过清理和验证的数据仓库数据来构建专有的生成式 AI 模型,或对现有模型进行微调,以更好地满足其独特的业务需求。

商业智能

企业级数据仓库可让数千名用户同时访问和运行分析工具。由于数据与业务数据库分开存储,而且格式更高效,因此用户可以运行自己的自助式商业智能查询,而不会降低其他关键系统的运行速度。

数据集成

数据仓库可以通过自动清理和整合的 ETL 管道帮助整合孤立的数据。这有助于加快查询和处理速度,并使更多用户能够访问数据。

企业级数据仓库还可能包括对开源格式(如 Apache Iceberg、Parquet 和 CSV)的支持,以便在整个企业内实现进一步的数据共享。

行业特定用途

数据仓库还可以用于特定行业,例如:

  • 政府:数据仓库的分析功能可以帮助政府更好地了解犯罪、人口趋势和交通模式等复杂现象。

  • 医疗保健:集中管理和分析不同数据,例如账单和诊断代码、患者人口统计数据、药物和检测结果,可帮助医院深入了解患者的预后、运营效率等。

  • 酒店和交通:组织可以使用有关旅行和住宿选择的历史数据来更准确地向客户提供广告和促销信息。

  • 制造业:大型制造企业会产生大量数据。组织可以利用数据仓库构建适合各部门需求的数据市场,使用户更容易访问与其角色相关的数据。

 

数据仓库的优点

数据仓库整合了来自不同的数据存储中的数据流,使得组织更容易分析这些数据。因此,组织可以发现有价值的洞察分析,提高性能,改善运营,并最终获得竞争优势。

更具体地说,数据仓库的好处可包括:

  • 提升数据质量
  • 更深入的洞察分析
  • 更好的业务决策

 

提升数据质量

数据仓库可以集中来自各种数据源的数据,如交易系统、运营数据库和平面文件。然后,它将对这些运营数据进行清理、去除重复项并进行标准化,从而创建一个单一可信信息源,以便组织能够查看全面、可靠的企业数据。

更深入的洞察分析

当数据被封存在不同的数据源中时,可能会限制决策者获得洞察分析和自信地制定业务战略的能力。拥有一个中央存储库的数据仓库使业务用户能够将组织的所有相关数据纳入业务决策。

通过对历史数据运行报告,数据仓库可以帮助确定哪些系统和流程正在运行,哪些需要改进。

更好的业务决策

数据仓库使发现和报告主题、趋势和集合成为可能。数据专家和业务领导者可以利用这些洞察分析,在从业务流程到财务管理和库存管理的几乎所有组织领域中,根据确凿的证据做出更明智的决策。

数据仓库架构面临的挑战

在实施数据仓库解决方案时,组织可能需要面对某些挑战才能实现高性能。其中包括:

  • 数据量大
  • 数据质量和管理
  • 复杂的云基础设施
  • 支持 AI 阶梯
  • 缺乏存储灵活性

 

数据量大

随着 TB 和 PB 级数据仓库的普及,高性能运营需要出色的负载、高效的存储空间和强大的数据库引擎来满足超效率的需求。

数据质量和管理

数据仓库可能需要管理来自多个来源的大量结构化和非结构化数据。所有这些数据在使用之前都必须经过清理和验证。强大的数据治理策略和实践可以帮助确保所有用户拥有准确的单一可信信息源。

复杂的云基础设施

由于企业数据存储在不同的环境中(无论是按照法规还是业务需要),当今的数据仓库通常需要混合和多云存储,数据流、提取和分析都要在不同的系统中进行。组织可能需要经验丰富的 IT 团队成员来帮助实施和维护这些复杂的系统。

支持 The AI Ladder

随着 AI 和机器学习成为业务战略中更为关键的组成部分,组织需要能够支持这些工作量的数据仓库。

理想情况下,数据仓库应该能够收集、清理、组织和分析数据,以便为 AI 做好准备,并促进数据流向 AI 和机器学习应用。然而,并非所有数据仓库都是为 AI 构建,这可能导致难以将组织数据用于 AI 工作量。

缺乏存储灵活性

数据仓库是为数据分析而配置和优化的,这意味着它们通常不适合存储大量数据。随着仓库中数据量的增加,存储空间的成本和复杂性也随之增加。还可能出现延迟问题。

对于某些组织来说,根据其独特的数据架构,湖仓一体可以是一种选择,因为它可以提供更便宜、更灵活的存储和分析功能。

相关解决方案
IBM watsonx.data

watsonx.data 支持您通过开放、混合和已治理数据,利用您的所有数据(无论位于何处)来扩展分析和 AI。

了解 watsonx.data
数据仓库解决方案

针对整个组织中的已治理数据,扩展始终在线的高性能分析和 AI 工作量

深入了解数据仓库解决方案
数据和分析咨询服务

通过 IBM Consulting 发掘企业数据的价值,建立以洞察分析为导向的组织,实现业务优势。

了解分析服务
采取下一步行动

借助 IBM watsonx.data 统一所有 AI 和分析数据。利用混合、开放的湖仓一体,无论数据位于何处,都能为 AI 和分析所用。

了解 watsonx.data 深入了解数据仓库解决方案