什么是数据仓库?

智能仓库中 3D 渲染的自动导引车鸟瞰图

作者

Alexandra Jonker

Staff Editor

IBM Think

Jim Holdsworth

Staff Writer

IBM Think

Matthew Kosinski

Staff Editor

IBM Think

什么是数据仓库?

数据仓库将来自各种来源的数据汇总到针对查询和分析进行优化的中央数据存储中。它通常使用提取、转换和加载 (ETL) 或提取、加载和转换 (ELT) 流程来清理、准备和组织商业智能 (BI) 和其他数据分析用例的数据。

数据仓库系统可以采集大量数据,从各种源系统,包括操作数据库、交易系统客户关系管理 (CRM) 平台。自助服务分析工具使业务用户能够深入了解并分析这些数据以获得洞察分析。

数据仓库的概念出现于 20 世纪 80 年代,旨在将异构的数据整合为一致的格式以供分析。随着万维网、社交媒体和物联网 (IoT)等新数据源数量的激增,对更大存储容量和更快分析的需求也随之增长。

数据仓库针对近乎实时的分析进行配置和优化,这意味着它们通常不适合存储大量原始的、非结构化的大数据。随着仓库中数据量的增加,存储空间的成本和复杂性也随之增加。还可能出现延迟和性能问题。

为此,出现了更灵活的替代方案,包括云原生数据仓库和湖仓一体。(有关更多信息,请参阅“湖仓一体与数据仓库”。)

数据仓库如何运作?

数据仓库通常使用三层架构,旨在转换数据以进行分析:

  • 底层
  • 中层
  • 顶层

底层

数据从多个源系统流入数据仓库服务器并存储在那里。传统上,数据通过提取、转换、加载 (ETL) 数据整合过程移动,该过程使用自动化来清理和组织数据,然后再将其加载到仓库中。

由于数据仓库主要存储结构化数据,因此数据转换发生在数据加载之前。一些现代仓库改用“提取、加载、转换 (ELT)”流程,即在转换数据之前将数据加载到仓库中。这种方法通常用于数据湖,它可以存储非结构化和半结构化数据,而不需要标准化格式。

中层

该层包含分析引擎,通常由在线分析处理 (OLAP) 系统提供支持。虽然传统的关系数据库(包括许多数据仓库)可以存储多维数据(例如,销售数据可能有多个维度,如位置、时间和产品),但它们并未针对多维查询进行优化。

OLAP 系统专为对大量数据进行高速、复杂查询和多维分析而设计。它们使用“多维数据集”(基于数组的多维数据结构)来实现跨多个维度的更快、更灵活的分析。常见用例包括数据挖掘、财务分析、预算和预测规划

OLAP 多维数据集结构示意图 包含商品、销售地区和季度维度的 OLAP 多维数据集

OLAP 与 OLTP在线事务处理(OLTP)系统捕获并更新来自许多用户的大量实时事务。相比之下,OLAP 系统分析已经捕获的数据。

人们可以在数据仓库中使用三种类型的 OLAP:

  • 多维在线分析处理(MOLAP):直接使用多维 OLAP 立方体,通常是最快、最实用的多维数据分析类型。

  • 关系型在线分析处理(ROLAP):执行多维数据分析,直接对关系表中的数据进行操作,而无需先将其重组为立方体。

  • 混合联机分析处理(HOLAP):在单个 OLAP 架构内创建关系数据库和多维数据库之间的最佳分工的功能。

顶层

数据仓库的最后一层提供一个前端用户界面,用于业务数据的报告、仪表板和临时数据分析。这些自助式商业智能工具允许用户在没有技术数据工程专业知识的情况下根据历史数据生成报告、可视化趋势并确定工作流程瓶颈。

辅以专家洞察分析的最新科技新闻

通过 Think 时事通讯,了解有关 AI、自动化、数据等方面最重要且最有趣的行业趋势。请参阅 IBM 隐私声明

谢谢!您已订阅。

您的订阅将以英语提供。每份时事通讯都包含取消订阅链接。您可以在此管理您的订阅或取消订阅。更多相关信息,请参阅我们的 IBM 隐私声明

数据仓库部署模型:本地部署、云和混合

数据仓库已经发生了重大变化,从专门的内部部署系统转变为灵活的云和混合模型。

传统数据仓库

从历史上看,数据仓库是使用商品硬件进行本地部署的。这些系统采用大规模并行处理(MPP)对称多处理(SMP)架构进行组织。它们也作为独立设备交付。这些部署需要大量投资。不过,对于合规性、数据安全数据隐私标准严格的行业组织来说,它们可能是一个不错的选择。

云数据仓库

如今,许多数据仓库都是为在云运行而构建的。它们提供云计算的优势,如 PB 级的数据存储、高度可扩展的计算和存储以及即用即付的定价。基于云的数据仓库通常以完全托管的软件即服务 (SaaS) 产品形式交付,无需对硬件或软件进行前期投资。这种服务交付还减少了基础设施管理所需的资源,因此组织可以专注于分析和洞察分析。

随着企业寻求灵活扩展并减少其内部数据中心占用空间和传统基础设施支出,基于云的数据仓库越来越受欢迎。

混合方法

一些组织可能会采用混合模型,该模型结合了本地部署和云数据仓库的优点。这种方法使他们能够利用云的可扩展性和灵活性,同时保持对必须保留在本地的敏感工作负载的控制权。

数据仓库中的三个架构是什么?

在数据仓库中,模式定义了数据的组织方式。存在三种常见的架构结构:星形架构、雪花架构和星系架构(也称为事实星座架构)。

这些模式都是维度数据模型,旨在优化 OLAP 系统中的数据检索速度。维度模型可以增加冗余度,使报告和检索信息更容易定位,并提高查询性能。

这些模式包含事实表和维度表,定义如下:

  • 事实表:存储定量数据,例如产品销量或收入金额

  • 维度表:存储与事实相关的上下文描述信息,例如销售日期和产品类别

星形架构

星型架构由一个中心事实表及其周围的维度表组成。在图表中,事实表通常出现在星形图案的中心。星型模式被认为是最简单和最常见的模式类型,有助于提升用户的查询速度。

描绘星型架构的图形 星形架构示例

雪花模式

雪花模式包含一个中心事实表,该表连接到多个规范化的维度表,这些维度表又可以通过多对一关系进一步连接到其他维度表。这种更复杂的分支图案就像雪花一样。Snowflake 模式的数据冗余水平较低,但这是以查询性能较慢为代价的。

雪花型架构示例 雪花型架构示例

星系模式

正如我们的星系包含许多恒星一样,星系模式包含许多星型模式,这些星型模式共享规范化的维度表以避免冗余。星系模式最适合高度复杂的数据仓库,但用户可能会体验到较低的性能。

星系模式示例 星系模式示例

数据仓库架构的组件

典型的数据仓库架构有几个组件,它们协同工作以存储、管理、处理和传递数据以供分析。

  • ETL/ELT 工具
  • API 层
  • 数据层(或中央数据库)
  • 元数据
  • 沙盒
  • 访问工具

ETL/ELT 工具

ETL 工具从源系统中提取数据,在暂存区域中进行转换,然后将其加载到数据仓库中。在 ELT 中,数据在加载到仓库后会进行转换。数据处理框架工具(例如 Apache Spark )可以帮助管理数据转换。

API 层

应用程序编程接口 (API) 连接层可以帮助数据仓库从运营系统中提取数据并与这些系统实现集成。API 还可以提供对可视化和高级分析工具的访问。

数据层(或中央数据库)

数据层(或中央数据库)是数据仓库的核心。在这里,系统集成并存储了来自各种来源的数据,例如业务应用程序、电子邮件列表、网站或其他数据库。该层由 ETL 或 ELT数据管道支持,并使用关系数据库管理系统 (RDBMS) 或云数据仓库平台。内置的数据治理和安全功能可以对数据进行分区,确保用户只能访问所需的内容。

元数据是关于数据的数据,用于描述系统中存储的数据,使其能够被搜索并用于分析。包括技术性元数据(如表结构和数据类型)和描述性元数据(如作者、创建日期或文件大小)。元数据是实现高效数据治理数据管理的关键。

沙盒

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

访问工具

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

AI Academy

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

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

数据仓库的类型

数据仓库主要分为三种类型:

  • Enterprise 数据仓库 (EDW)
  • 运营数据存储 (ODS)
  • 数据市场

企业数据仓库 (EDW)

企业数据仓库 (EDW) 是为整个企业提供服务的数据仓库。它是所有团队和学科领域历史数据的中央信息库。企业数据仓库环境还可能包括 运营数据存储 (ODS) 和部门特定的数据市场。

运营数据存储 (ODS)

操作数据存储 (ODS) 包含最新的操作数据快照。ODS 更新频繁,可以实现近乎实时的快速访问数据。组织通常使用 ODS 进行日常运营决策和实时分析。它也可以是 EDW 或其他数据系统的数据源。

数据市场

数据市场是现有数据仓库(或其他数据源)的子集,包含针对特定业务部门或团队(而不是整个企业)定制的数据。例如,一家公司可能有一个与营销部门一致的数据市场。这些用户无需浏览更广泛的企业数据集即可获得更聚焦的洞察,例如客户细分和营销活动表现。

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

数据仓库、数据库、湖仓一体和数据湖这些术语有时可以互换使用,但存在重要区别。

数据仓库与数据库

数据库就像一个文件柜,主要用于自动数据采集和快速事务处理。它通常用作特定应用程序的重点数据存储。数据仓库存储来自组织中任意数量应用程序的数据,并针对预测分析和其他高级分析进行了优化。

数据仓库与数据湖

数据湖是一种用于存储大量原始数据的低成本存储解决方案,它使用读取模式方法而不是预定义模式。数据湖可以存储结构化数据、非结构化数据和半结构化数据,例如文档、视频、物联网 (IoT) 日志和社交媒体帖子。

它们可以构建在大数据平台(如 Apache Hadoop)或云对象存储服务(如 Amazon Simple Storage Service (Amazon S3))上。它们通常不会像仓库那样清理、验证或规范化数据以进行分析。

湖仓 一体与数据仓库

湖仓一体融合了数据仓库和数据湖的特点,即数据湖的低成本灵活性和数据仓库的高性能。通过将湖泊和仓库的关键功能整合到一个数据解决方案中,湖仓一体可以帮助加速大量结构化、非结构化实时数据流的数据处理,以支持机器学习数据科学人工智能 (AI) 工作负载。

湖仓一体还可能添加共享元数据和分布式结构化查询语言 (SQL)引擎等功能。

数据仓库的优点

数据仓库使组织中的用户能够获得洞察分析和信息,从而带来许多优点,例如:

  • 提高数据质量
  • 支持AI和机器学习
  • 增强的决策支持

提高数据质量

在传入数据存储到仓库之前,数据仓库会通过 ELT 或 ETL 流程来准备这些数据。准备工作包括数据质量方法,如数据清理、标准化和重复数据删除。强大的数据治理策略和实践还有助于确保所有用户的数据准确性和完整性

通过将高质量数据集成到单个存储中,组织可以创建一个全面可靠的单一可信信息源——这有助于消除数据孤岛。该中央存储库使业务用户能够自信地访问组织的所有相关数据并将其用于业务决策。企业级数据仓库还可能包括对开源格式(如 Apache Iceberg、Parquet 和 CSV)的支持,以便在整个企业内实现进一步的数据共享。

支持 AI 和机器学习

现代数据仓库可以提供干净、可靠的数据,支持各种 AI 和机器学习工作流程。数据科学家可以使用经过清理和验证的仓库数据来构建专有的生成式 AI 模型,或对现有模型进行微调,以更好地满足其独特的业务需求。

AI 就绪的数据仓库应该能够收集、清理、组织和构建数据,以及促进数据流向 AI 和机器学习平台。然而,并非所有现代数据仓库都针对 AI 工作量进行了优化。湖仓一体正日益成为 AI 基础设施的首选数据平台。

增强的决策支持

数据仓库集中并清理不同来源的数据,以创建单一可信信息源,为组织提供全面、可靠的企业数据视图。自助服务 BI 工具使整个企业的用户能够访问这些聚合数据并运行分析查询。

通过这种方式,数据仓库使任何技术技能水平的业务用户都能发现并报告主题、趋势和汇总信息。从业务流程到财务管理和库存管理,业务领导者可以利用组织中几乎每个领域的确凿证据,利用这些洞察信息来做出更明智的决策和预测。

特定行业的数据仓库用例

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

政府

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

医疗保健

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

旅游和接待

组织可以利用与旅行和住宿选择相关的历史数据,更精确地向客户进行广告和促销。

制造业

产生大量数据的大型制造公司可以使用数据仓库解决方案,根据各部门的需求构建数据集市。

相关解决方案
数据管理软件和解决方案

设计数据战略,消除数据孤岛、降低复杂性并提高数据质量,以获得卓越的客户和员工体验。

深入了解数据管理解决方案
IBM watsonx.data™

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

了解 watsonx.data
数据和分析咨询服务

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

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

设计数据战略,消除数据孤岛、降低复杂性并提高数据质量,以获得卓越的客户和员工体验。

深入了解数据管理解决方案 了解 watsonx.data