数据湖 (Data Lake) 最初由 Pentaho 的前首席技术官提出,是一种低成本的存储环境,通常可容纳 PB 级的原始数据。
与数据仓库不同,数据湖 (Data Lake) 既可以存储结构化数据,也可以存储非结构化数据,而且不需要定义的模式来存储数据,这种特性被称为 “读取模式”。这种灵活的存储要求对数据科学家、数据工程师和开发人员特别有用,使他们能够访问数据,进行数据发现练习和机器学习项目。
451 Research 近期发布的《企业之声》(链接位于 ibm.com 站外)报告指出,约“四分之三 (71%) 的企业目前正在使用或试用数据湖环境,或计划在未来 12 个月内这样做,53% 的受访者已经在部署或 POC 中。”本报告中的受访者强调,业务敏捷性是其部署的主要优点,这些优势可能各不相同。他们还发现,数据湖通常托管在云端,或通过组织的数据中心“本地部署”托管。
虽然采用者发现了数据湖的价值,但有些数据湖可能会沦为数据沼泽或数据洼地。数据沼泽是数据湖管理不善的结果,也就是说,数据湖缺乏适当的数据质量和数据治理实践,无法提供有洞察力的学习成果。如果没有妥善的监督,这些存储库中的数据将变得毫无用处。另一方面,数据洼地与数据沼泽类似,几乎不提供业务价值,但在这些情况下,数据问题的来源并不明确。同样,数据治理和数据科学团队的参与也有助于防范这些陷阱。
阅读并了解为什么 IBM 在《IDC MarketScape:2023 年全球 AI 治理平台》报告中被评为领导者。
阅读数据领导者指南
虽然数据湖 (Data Lake) 和数据仓库都存储数据,但每个存储库都有自己的存储要求,这使其成为不同场景的理想选择。例如,数据仓库需要定义的模式,以满足数据输出(例如仪表板、数据可视化和其他商业智能任务)的特定数据分析要求。这些要求通常由业务用户和其他利益相关者提出,他们将定期使用报告输出。数据仓库的底层结构通常是关系系统(即结构化数据格式),数据来源于事务数据库。另一方面,数据湖 (Data Lake) 整合了关系型和非关系型系统的数据,允许数据科学家将结构化和非结构化数据整合到更多的数据科学项目。
每种系统也有其自己的优缺点。例如,数据仓库往往性能更高,但成本也更高。数据湖 (Data Lake) 返回查询结果的速度可能较慢,但存储成本较低。此外,数据湖 (Data Lake) 的存储容量使其成为企业数据的理想之选。
数据湖通常还与 Apache Hadoop 相关联,后者是一种开源软件框架,可为大数据存储提供低成本、可靠的分布式处理。它们传统上是在本地部署的,但正如 451 Research 的报告指出,由于云环境为终端用户提供了更大的灵活性,因此采用者正在迅速转向云环境。与本地部署不同,云存储提供商支持用户根据需要启动大型集群,只需为指定的存储付费。这意味着,如果您需要额外的计算能力,以便在几小时内(而不是几天内)运行一项任务,您可以通过购买额外的计算节点,在云平台上轻松实现目标。Forrester Research(链接位于 ibm.com 站外)报告称,与本地部署数据湖相比,使用云数据湖的企业可节省大约 25% 的成本。
在 Hadoop 中,Hadoop 分布式文件系统 (HDFS) 在多个服务器之间存储和复制数据,而 Yet Another Resource Negotiator (YARN) 则决定如何在这些服务器之间分配资源。 然后,您可以使用 Apache Spark 创建一个用于数据处理的大型内存空间,允许更高级的用户通过使用 Python、R 和 Spark SQL 的接口访问数据。
随着数据量呈指数级增长,数据湖 (Data Lake) 已成为数据管道的重要组成部分。
由于数据湖 (Data Lake) 主要用于存储大量原始数据,因此不一定需要在一开始就确定数据的业务目的。数据湖 (Data Lake) 的两个主要用例如下:
- 概念验证 (POC):数据湖存储是概念验证项目的理想之选。它们存储不同类型数据的能力尤其有利于机器学习模型,为将结构化和非结构化数据纳入预测模型提供了机会。这对文本分类等用例非常有用,因为数据科学家无法利用关系数据库来进行分类(至少在不对数据进行预处理以满足模式要求的情况下是如此)。数据湖 (Data Lake) 还可以作为其他大数据分析项目的沙箱。这包括从大规模仪表板开发到 IoT 应用程序支持等任何领域,通常需要实时流数据。在确定数据的用途和价值后,就可以对数据进行 ETL 或 ELT 处理,以便将其存储到下游数据仓库中。
- 数据备份和恢复:高存储容量和低存储成本使数据湖成为灾难恢复事件的替代存储方案。由于数据是以原始格式存储的(即未经转换),因此它们也有利于数据审计,以确保数据的质量。如果数据仓库缺乏有关其数据处理的相应文档,这一点就特别有用,可以让团队交叉检查先前数据所有者的工作。
最后,由于数据湖 (Data Lake) 中的数据并不一定需要立即存储,因此它也是一种以具有成本效益的价格存储冷数据或不活动数据的方法,这些数据可能会在日后用于监管查询或新的净分析。
更灵活:数据湖 (Data Lake) 可同时采集结构化、半结构化和非结构化数据集,使其成为高级分析和机器学习项目的理想之选。
成本:由于数据湖 (Data Lake) 不需要太多的前期规划来采集数据(如架构和转型定义),因此需要在人力资源上投入更少的资金。此外,与数据仓库等其他存储库相比,数据湖 (Data Lake) 的实际存储成本更低。这使公司能够更有效地优化数据管理计划的预算和资源。
可扩展性:数据湖 (Data Lake) 可以通过多种方式帮助企业扩展业务。与其他存储服务相比,自助服务功能和整体存储容量使数据湖 (Data Lake) 更具可扩展性。此外,数据湖 (Data Lake) 为工作人员提供了开发成功的 POC 的沙盒。一旦一个项目在较小范围内证明了其价值,就可以更轻松地使用自动化在更大范围内扩展该工作流。
减少数据孤岛:从医疗保健到供应链,各行各业的公司都在组织内存在数据孤岛。由于数据湖会在不同的功能中采集原始数据,因此这些依赖关系开始自行消除,因为给定数据集不再只有单一的所有者。
增强的客户体验:虽然这种优点不会立即显现出来,但成功的概念验证可以改善整体用户体验,使团队能够通过全新的、富有洞察力的分析更好地了解客户旅程并使其个性化。
虽然数据湖 (Data Lake) 能带来诸多优点,但也并非没有挑战。其中一些挑战包括:
- 性能:随着输入数据湖 (Data Lake) 的数据量不断增长,数据湖 (Data Lake) 的性能也随之下降,因为数据湖 (Data Lake) 的性能已经低于其他替代数据存储系统。
- 治理:虽然数据湖 (Data Lake) 能够采集各种数据源,为企业的数据管理实践提供了优势,但它也需要强有力的治理来进行适当管理。应使用相关元数据对数据进行标记和分类,以避免数据沼泽,这些信息应能通过数据目录轻松访问,从而为业务分析师等技术水平较低的员工提供自助服务功能。最后,还应设置防护栏,以符合隐私和监管标准;这可能包括访问控制、数据加密等。