数据湖和数据仓库通常协同使用。数据湖充当新数据的汇集系统,而数据仓库则将下游结构应用于数据。
然而,要协调这些系统来提供可靠的数据可能会耗费大量的时间和资源。处理时间过长会导致数据过时,而额外的 ETL(提取、转换、加载)层会造成数据质量风险。
湖仓一体弥补了数据仓库和数据湖的缺陷,具有形成更优数据管理系统的能力。它们将数据仓库的数据结构与数据湖的低成本存储以及灵活性相结合。
借助湖仓一体,数据团队能够统一不同的数据系统,加速数据处理以进行更高级的分析(例如机器学习 (ML)),从而有效地访问大数据并提高数据质量。
湖仓一体的存在是为了解决数据仓库和数据湖的挑战,并将其优势融入同一数据架构。
例如,无论是存储还是转换企业数据,数据仓库的性能都比数据湖更高。然而,数据仓库需要严格的架构模式(通常为星形模式和雪花模式)。
因此,数据仓库不适用于非结构化或半结构化数据,而这些数据对于人工智能 (AI) 和 ML 用例至关重要;其扩展能力也会受到限制。
另一方面,数据湖允许组织将来自不同数据源的所有数据类型——结构化数据、非结构化数据和半结构化数据汇总到同一位置。它们拥有更具可扩展性和成本效益的数据存储能力,但缺乏内置数据处理工具。
湖仓一体融合了数据仓库和数据湖的特性。它们利用云对象存储以低成本存储任意格式的数据。而且,云存储之上还设有仓库式分析基础架构,以支持高性能查询、近乎实时的分析和商业智能 (BI) 任务。
数据仓库、数据湖和湖仓一体都是数据存储库,但存在关键差异。它们通常在集成数据架构中一起使用,以支持各种用例。
数据湖最初是基于 Apache Hadoop 等大数据平台构建的。但现代数据湖的核心是云对象存储服务,它可以存储所有类型的数据。常见的服务包括 Amazon Simple Storage Service (Amazon S3)、Microsoft Azure Blob Storage、Google Cloud Storage 和 IBM Cloud Object Storage。
由于企业主要生成非结构化数据,这种存储能力成为关键优势。它能支持更多数据科学和人工智能 (AI) 项目,进而推动全组织范围内更创新的洞察分析与更优的决策。
然而,数据湖的规模和复杂性可能需要更多技术用户的专业能力,例如数据科学家和数据工程师。此外,由于数据治理发生在这些系统的下游,因此数据湖很容易出现数据孤岛,进而演变成数据沼泽(因管理不善而难以访问良好数据)。
湖仓一体为用户带来了多项关键优势,包括:
湖仓一体利用较低的云对象存储成本,因此相比数据仓库更具成本效益。此外,湖仓一体的混合架构无需维护多个数据存储系统,从而降低了运营成本。
在传统的数据仓库中,计算和存储耦合在一起,湖仓一体将存储和计算分开,允许数据团队访问相同的数据存储,同时对不同的应用程序使用不同的计算节点。这种解耦带来了更高的可扩展性和灵活性。
Delta Lake 由 Databricks 于 2016 年开发,作为一种开源数据存储格式,结合了 Apache Parquet 数据文件与可靠的元数据日志。这种格式为数据湖添加了关键的数据管理功能,例如模式执行、时间旅行和 ACID 事务。(ACID 代表“原子性、一致性、隔离性和耐久性”,这些都是定义事务以确保数据完整性的关键属性。)
这些功能有助于提高数据湖的可靠性和直观性。它们还允许用户在数据湖上运行结构化查询语言 (SQL) 查询、分析工作量和其他活动,从而简化商业智能、数据智能 (DI)、AI 和 ML。
Delta Lake 于 2019 年开源。此后,湖仓一体通常通过在数据湖之上构建 Delta Lake 存储层,再与 Apache Spark 或 Hive 等数据处理引擎整合来创建。
支持开源的湖仓一体通常被称为“开放式湖仓一体”。其他开放表格式包括 Apache Iceberg (用于海量分析表的高性能格式)以及 Apache Hudi(专为增量数据处理而设计)。
湖仓一体的架构通常由五层组成:
在这一层中,结构化、非结构化和半结构化数据集以开源文件格式(例如 Parquet 或优化行列式 (ORC))存储。该层体现了湖仓一体的核心优势——以合理成本接纳所有数据类型。
利用混合、开放的湖仓一体,无论数据位于何处,都能为 AI 和分析所用。
利用湖仓一体架构因应当今的数据挑战。可以在几分钟内连接数据,快速获得可靠的洞察分析,并降低数据仓库成本。
通过 IBM Consulting 发掘企业数据的价值,建立以洞察分析为导向的组织,实现业务优势。