为了快速高效地处理数据,数据仓库通常采用三层架构。
此层是数据从不同数据源流入数据仓库服务器并存储的地方。数据通常通过一个称为提取、转换、加载 (ETL) 或有时称为提取、加载、转换 (ELT) 的过程来移动。这些过程以不同的方式执行,但它们都使用自动化将数据移动到仓库并准备用于分析。
此层传统上围绕分析引擎构建,最常见的是在线分析处理 (OLAP) 系统,旨在提供快速的分析和查询速度。此层可使用三种类型的 OLAP 模型:
所使用的 OLAP 模型类型取决于所使用的数据库系统类型。
此层包括一个前端用户界面或报告工具,使用户能够对其业务数据进行专门的数据分析。自助式商业智能有多种用途,如根据历史数据生成报告、识别新机遇或找出流程瓶颈。
大多数数据仓库都使用 OLAP 系统来支持分析。OLAP 软件可以从数据仓库等统一、集中的数据存储中对大量数据进行高速多维分析。
一项业务数据通常有多个维度。例如,销售数据可能包括与地点(地区、国家和商店)、时间(年、月、周和日)或产品(品牌、类型)相关的多个维度。
在传统的关系数据库中,数据以行列表的形式组织,这些表每次只能表示两个维度,即行一个维度,列一个维度。这可能会使分析变得繁琐。
然而,OLAP 系统允许用户同时沿多个维度分析数据,从而实现更快的处理速度和更有见地的分析。OLAP 的常见用途包括数据挖掘和其他商业智能应用程序、复杂的分析计算、预测场景、预算编制和预测规划。
OLAP 不同于在线交易处理或 OLTP。OLTP 系统实时跟踪大量用户进行的大量交易。OLTP 和 OLAP 之间的主要区别在于,OLTP 系统主要是为获取数据而设计的,而 OLAP 系统则分析已经获取的数据。
OLTP 系统通常使用关系数据库来记录交易,例如:
虽然数据仓库一般不涉及 OLTP 系统,但 OLTP 系统记录在数据库中的数据通常会被传送到仓库,由 OLAP 系统进行分析。
该模式由一个事实表(包含可测量的项目,例如销售的产品和货币销售金额)和维度表(即显示如何对事实进行分组和组织的参考信息,例如销售日期和销售对象行业)组成。
在图表中,事实表可能位于星形图案的中间。星形模式被认为是最简单且最常见的模式类型,其查询速度更快,使用户受益匪浅。
雪花模式是数据仓库中使用的另一种组织结构,虽然没有得到广泛采用。在这种情况下,事实数据表连接到多个标准化维度表,其中包含有关中央事实数据表中事实的描述性数据。这些维度表也有子表。
这种更复杂的分支图案就像雪花一样。雪花型架构的用户可享受到较低水平的数据冗余性,但这会以降低查询性能作为代价。
大多数数据仓库会围绕关系数据库系统进行构建,且要么位于本地要么位于云端,而数据则会在其中进行存储和处理。典型的数据仓库具有以下组件:
数据层或中央数据库是数据仓库的核心,并由所有其他组件支持。数据可以从业务应用程序、电子邮件列表、网站或任何其他关系数据库中输入。数据实际存储在一台或一组服务器上。
数据层可以分割数据段,使用户只能访问他们需要的数据。例如,销售团队通常无法访问人力资源团队的数据,反之亦然。
通常,数据仓库内置了数据治理和安全功能,因此组织不需要做太多的定制数据工程工作就能实现这些功能。随着来自不同来源的新数据被添加到仓库中,组织可能需要随时间更新数据治理原则和安全措施。
访问工具连接到数据仓库以提供业务用户友好型前端。这可能包括仪表板、报告和数据可视化工具,使数据分析师和业务用户能够与数据进行交互、提取洞察。此类工具的示例包括 Tableau、Looker 和 Qlik。
ETL 工具可帮助将数据从数据源移动到数据仓库。数据首先从其来源“提取”,移动到暂存区,在那里进行清理和准备(或“转换”),然后“加载”进入仓库。
ETL 工具可将数据转换成一致的格式,以便在仓库内对其进行高效分析和查询。例如,可以从多个客户数据库中提取数据,然后转换为通用格式,这样所有客户记录都具有相同的字段。
数据处理框架工具(例如 Apache Spark)可以帮助管理数据转换。
由于数据仓库主要存储结构化数据,因此在将数据转移到仓库之前,通常会对数据进行转换。虽然有些仓库可以使用提取、加载、转换 (ELT) 流程,即先将数据加载到仓库,然后再进行转换,但这种流程更常用于数据湖,因为数据湖不需要标准化的数据格式。(有关更多信息,请参阅“数据湖与数据仓库”。)
元数据是指有关数据的数据。大致而言,它可对系统中存储的数据进行描述,以便其可供搜索。元数据包括作者、文章的日期或位置、创建日期和文件大小等特征。元数据及其管理系统有助于组织数据,使其可用于分析。
一些数据仓库提供了与实时数据隔离的沙盒。它可能被用作测试环境,包含生产数据的副本和相关的分析和可视化工具。数据分析师和数据科学家可以在沙盒中试验新的分析技术,而不会影响其他用户的数据仓库运营。
应用程序编程接口 (API) 的连接层可以帮助仓库从组织来源获取数据,并提供对可视化和分析工具的访问。
数据仓库、数据库、数据湖、数据市场和湖仓一体这些术语有时互换使用。虽然这些系统极为相似,但却存在重要区别。
数据库就像文件柜,主要用于快速查询和交易处理,而非分析。数据库通常会作为特定应用程序的集中数据存储,而数据仓库则可存储来自组织内任意数量应用程序的数据。
数据库专注于捕获实时数据,而数据仓库的范围更广,可以捕获历史数据,但有时也捕获当前数据,以进行预测分析、机器学习和其他高级分析。
数据湖是一种没有预定义模式的大量原始数据的存储解决方案。数据湖通常包含非结构化数据和半结构化数据,例如文档、视频、物联网 (IoT) 日志和社交媒体帖子。通常在大数据平台上构建,例如 Apache Hadoop。
数据湖的主要设计目的是为大量数据提供低成本存储空间。为了降低存储成本,它们通常不会像仓库那样转换数据或进行优化分析。
数据市场是一种数据仓库,它包含特定于具体业务线或部门的数据,而不是整个企业的数据。
由于数据市场包含较少的数据,因此在处理更广泛的数据仓库数据集时可让某一部门或业务线更快地发现更为集中的洞察信息。
例如,营销团队可能使用数据市场来定义理想的目标人群,而产品团队可能使用数据市场来分析库存模式。
湖仓一体是一种数据平台,它将数据仓库和数据湖的各个方面(即数据湖泊的灵活性和数据仓库的高性能)融合到一个数据管理解决方案中。湖仓一体还可增加共享元数据、分布式结构化查询语言 (SQL) 引擎以及内置治理和安全控制等功能。
开源技术的出现,以及减少数据重复和复杂 ETL 管道的愿望,促进了湖仓一体的发展。通过将数据湖和数据仓库的主要功能整合到一个数据解决方案中,数据湖可以帮助加快数据处理速度,支持机器学习、数据科学和 AI 工作量。
基于云的数据仓库是为在云中运行而构建的。它通常作为托管数据存储服务提供给组织,其中数据仓库基础设施由云公司管理。该组织不需要在硬件或软件上进行前期投资,也不需要管理自己的系统。云服务通常也提供灵活的定价。
随着越来越多的组织使用云计算服务并寻求减少其内部数据中心的占用空间,基于云的数据仓库变得越来越受欢迎。
企业可以购买数据仓库许可证,然后将数据仓库部署为自己的本地基础设施。虽然这通常比云数据仓库服务更昂贵,但对于希望对数据进行更多控制或需要遵守严格的安全或数据隐私标准的政府实体、金融机构或其他组织而言,这可能是一个不错的选择。
数据仓库设备是一种预先集成的硬件和软件捆绑包,通常包括中央处理器 (CPU)、存储设备、操作系统和数据仓库软件,企业可以将其连接到网络并立即开始使用。
在前期成本、部署速度、可扩展性和数据管理控制方面,数据仓库设备通常介于云实施和本地部署实施之间。
数据仓库可以通过快速自助服务为整个组织的团队提供洞察分析和信息,从而实现多种用例。
数据仓库可以支持各种 AI 和机器学习应用程序。数据科学家可以分析历史数据,开发预测算法。他们可以教机器学习应用程序软件识别模式,例如可能表明欺诈行为的可疑账户活动。他们可以使用经过清理和验证的数据仓库数据来构建专有的生成式 AI 模型,或对现有模型进行微调,以更好地满足其独特的业务需求。
企业级数据仓库可让数千名用户同时访问和运行分析工具。由于数据与业务数据库分开存储,而且格式更高效,因此用户可以运行自己的自助式商业智能查询,而不会降低其他关键系统的运行速度。
数据仓库可以通过自动清理和整合的 ETL 管道帮助整合孤立的数据。这有助于加快查询和处理速度,并使更多用户能够访问数据。
企业级数据仓库还可能包括对开源格式(如 Apache Iceberg、Parquet 和 CSV)的支持,以便在整个企业内实现进一步的数据共享。
数据仓库还可以用于特定行业,例如:
数据仓库整合了来自不同的数据存储中的数据流,使得组织更容易分析这些数据。因此,组织可以发现有价值的洞察分析,提高性能,改善运营,并最终获得竞争优势。
更具体地说,数据仓库的好处可包括:
数据仓库可以集中来自各种数据源的数据,如交易系统、运营数据库和平面文件。然后,它将对这些运营数据进行清理、去除重复项并进行标准化,从而创建一个单一可信信息源,以便组织能够查看全面、可靠的企业数据。
当数据被封存在不同的数据源中时,可能会限制决策者获得洞察分析和自信地制定业务战略的能力。拥有一个中央存储库的数据仓库使业务用户能够将组织的所有相关数据纳入业务决策。
通过对历史数据运行报告,数据仓库可以帮助确定哪些系统和流程正在运行,哪些需要改进。
数据仓库使发现和报告主题、趋势和集合成为可能。数据专家和业务领导者可以利用这些洞察分析,在从业务流程到财务管理和库存管理的几乎所有组织领域中,根据确凿的证据做出更明智的决策。
在实施数据仓库解决方案时,组织可能需要面对某些挑战才能实现高性能。其中包括:
随着 TB 和 PB 级数据仓库的普及,高性能运营需要出色的负载、高效的存储空间和强大的数据库引擎来满足超效率的需求。
数据仓库可能需要管理来自多个来源的大量结构化和非结构化数据。所有这些数据在使用之前都必须经过清理和验证。强大的数据治理策略和实践可以帮助确保所有用户拥有准确的单一可信信息源。
由于企业数据存储在不同的环境中(无论是按照法规还是业务需要),当今的数据仓库通常需要混合和多云存储,数据流、提取和分析都要在不同的系统中进行。组织可能需要经验丰富的 IT 团队成员来帮助实施和维护这些复杂的系统。
随着 AI 和机器学习成为业务战略中更为关键的组成部分,组织需要能够支持这些工作量的数据仓库。
理想情况下,数据仓库应该能够收集、清理、组织和分析数据,以便为 AI 做好准备,并促进数据流向 AI 和机器学习应用。然而,并非所有数据仓库都是为 AI 构建,这可能导致难以将组织数据用于 AI 工作量。
数据仓库是为数据分析而配置和优化的,这意味着它们通常不适合存储大量数据。随着仓库中数据量的增加,存储空间的成本和复杂性也随之增加。还可能出现延迟问题。
对于某些组织来说,根据其独特的数据架构,湖仓一体可以是一种选择,因为它可以提供更便宜、更灵活的存储和分析功能。
watsonx.data 支持您通过开放、混合和已治理数据,利用您的所有数据(无论位于何处)来扩展分析和 AI。
针对整个组织中的已治理数据,扩展始终在线的高性能分析和 AI 工作量
通过 IBM Consulting 发掘企业数据的价值,建立以洞察分析为导向的组织,实现业务优势。