数据湖是一种低成本数据存储环境,旨在处理任何格式的海量原始数据,包括结构化、半结构化和非结构化数据。大多数数据湖使用基于云的对象存储,例如 AWS S3、Google Cloud Storage 或 IBM Cloud Object Storage。
数据湖出现在 2000 年代末和 2010 年代初,目的是帮助组织处理由连接互联网的应用程序和服务产生的大数据,其中大部分是非结构化数据。
与传统数据库和数据仓库不同,数据湖不要求所有数据都遵循一个定义的模式。相反,数据湖可以在一个集中的存储库中存储不同改格式、不同类型的数据。数据湖还利用云计算的优势,让数据存储更具可扩展性,也更加经济实惠。
数据湖是当今许多组织数据架构的核心组件。根据 IBM CDO 研究,75% 的一流首席数据官 (CDO) 正在投资数据湖。
数据湖凭借其灵活的存储方式,可以帮助企业打破数据孤岛,构建整体数据结构。数据湖对于数据科学家和数据工程师也很有用,他们经常使用数据湖来管理人工智能 (AI) 和机器学习 (ML) 工作负载所需的大量非结构化数据集。
长期以来,众多组织都依赖关系型数据库(开发于 20 世纪 70 年代)和数据仓库(开发于 20 世纪 80 年代)来管理其数据。这些解决方案仍然是许多组织的 IT 生态系统的重要组成部分,但它们主要是为结构化数据集设计的。
随着互联网的发展,尤其是社交媒体和流媒体的到来,组织发现自己需要处理更多的非结构化数据,例如自由格式的文本和图像。由于严格的架构和相对昂贵的存储成本,数据仓库和关系数据库无法处理大量涌入的数据。
2011 年,时任 Pentaho 首席技术官的 James Dixon 创造了“数据湖”一词。Dixon 将数据湖视为数据仓库的替代方案。数据仓库为目标业务用例提供经过预处理的数据,而 Dixon 将数据湖设想成以其自然格式存储的大量数据。用户可以随意从这个湖中提取并使用所需的数据。
许多最早的数据湖都是基于 Apache Hadoop 构建的,后者是一个用于分布式处理大型数据集的开源软件框架。这些早期的数据湖托管在本地,但随着数据量持续激增,这一情况很快就变成了一个问题。
云计算提供了一种解决方案:将数据湖转移到更具可扩展性的云对象存储服务。
数据湖至今仍在不断发展。现在,许多数据湖解决方案不仅提供廉价、可扩展的存储,还提供数据安全和治理工具、数据目录和元数据管理等功能。
数据湖也是湖仓一体的核心组件,湖仓一体是一种相对较新的数据管理解决方案,结合了数据湖的低成本存储和仓库的高性能分析功能。(更多信息,请参阅“数据湖与湖仓一体”)。
虽然最早的数据湖是基于 Hadoop 构建的,但现代数据湖的核心是云对象存储服务。常见的选项包括 Amazon Simple Storage Service (Amazon S3)、Microsoft Azure Blob Storage、Google Cloud Storage 和 IBM Cloud Object Storage。
云对象存储让组织能够将所有不同类型的原始数据存储在同一个数据存储中,其可扩展性和成本效益通常也高于本地存储。云存储提供商让用户能够按需启动大型集群,只需为所使用的存储付费。
存储和计算资源在数据湖架构中相互分离。要处理数据,用户必须连接外部数据处理工具。Apache Spark 是一个热门的选择,它支持 Python、R 和 Spark SQL 等接口。
将存储和计算解耦有助于降低成本并提高可扩展性。组织可以添加更多存储,而无需同时扩展计算资源。
中央数据湖存储通过摄取层连接到各种数据源,例如数据库、应用程序、物联网 (IoT) 设备和传感器。
大多数数据湖使用提取、加载、转换 (ELT) 而不是提取、转换、加载 (ETL) 流程来摄取数据。当数据湖摄取数据时,数据将保持其原始状态,直到需要时才会进行转换。这种方法(仅在访问数据时应用模式)称为“读取时模式”。
除了这些核心组件之外,组织还可以在其数据湖架构中构建其他层,使其更安全、更实用。这些层可以包括:
多个不同的存储层,以适应数据处理的不同阶段。例如,数据湖可能有一层用于原始数据,一层用于已清理的数据,一层用于受信任的应用程序数据。
安全和治理层,例如集成数据治理解决方案或身份和访问管理 (IAM) 控制措施,可保持数据质量并防止未经授权的访问。
数据湖、数据仓库和湖仓一体都是数据管理工具类型,但也存在重要的区别。它们通常在集成数据架构中一起使用,以支持各种用例。
湖仓一体是一种数据管理解决方案,结合了数据湖的灵活数据存储和数据仓库的高性能分析功能。
与数据湖一样,湖仓一体可以以较低的成本存储任何格式的数据。湖仓一体还在云数据湖存储系统上构建了一个仓库式的分析基础架构,合并了两种解决方案的特性。
组织可以使用湖仓一体来支持大量工作负载,包括 AI、ML、BI 和数据分析。湖仓一体也可以作为数据架构现代化的途径。组织可以将湖仓一体安置在现有的数据湖和数据仓库旁边,而无需进行成本高昂的淘汰和替换工作。
高存储容量和低存储成本让数据湖成为备份和灾难恢复的常见选择。
此外,数据湖也能以低廉的价格存储冷数据或不活动数据。这对于归档旧数据和维护历史记录非常有用;旧数据和历史记录可能有助于合规审计、监管查询,甚至有助于后续的新分析。
数据湖可以帮助支持数据集成计划,旨在组合并协调来自多个来源的数据,以便将其用于各种分析、操作和决策目的。
根据 IBM 商业价值研究院 的基准数据,64% 的组织表示,打破组织数据共享的障碍是他们与人员相关的最大挑战之一。研究表明,多达 68% 的组织数据从未被分析过。如果人们无法在需要时使用数据,组织就无法实现其数据的全部优势。
数据湖为组织提供了一种方法,可以轻松将所有类型的数据存储在可访问的中央存储库中,从而方便数据访问和数据共享。
数据湖可以通过简化存储、共享和使用数据的方式,帮助组织从业务数据中获得更多价值。更具体地说,数据湖可以提供以下优势:
灵活性:数据湖可以摄取结构化、半结构化和非结构化数据集。组织无需为不同类型的数据维护单独的存储系统,这有助于简化数据架构。
成本低:数据无需经过成本高昂的清洗和转换过程即可存储,而且云对象存储通常比本地部署的替代方案更便宜。组织可以更有效地优化数据管理计划的预算和资源。
可扩展性:由于数据湖可将计算与存储资源分离,而且它们通常使用云存储服务,因此与很多其他数据存储解决方案相比更易扩展或缩减。
减少数据孤岛:根据 IBM 商业价值研究院的基准数据,61% 的企业表示数据孤岛是其面临的最大挑战之一。数据湖可以消除在不同地方存储不同类型数据的需要,从而助力打破数据孤岛。与分散在各业务部门的不同数据存储相比,一个中央数据湖或一组数据湖更易于访问。
数据湖没有像许多数据仓库和湖仓一体那样的内置处理和查询工具。此外,随着输入数据湖的数据量增加,查询和分析性能可能会受到影响,尤其是在数据未针对检索进行优化的情况下。
使用正确的工具和配置(例如优化的存储空间格式和查询引擎),无论数据湖的规模如何,都有助于确保高性能。
利用混合、开放的湖仓一体,无论数据位于何处,都能为 AI 和分析所用。
利用湖仓一体架构因应当今的数据挑战。可以在几分钟内连接数据,快速获得可靠的洞察分析,并降低数据仓库成本。
通过 IBM Consulting 发掘企业数据的价值,建立以洞察分析为导向的组织,实现业务优势。