数据湖简介

2022-02-18 11:13:48.0

数据湖提供了一个完整和权威的数据存储,可以为数据分析、商业智能和机器学习提供动力。

什么是数据湖?

数据湖是保存大量原始数据的中心位置。与将数据存储在文件或文件夹中的分层数据仓库相比,数据湖采用扁平架构和对象存储来存储数据。‍对象存储使用元数据标签和唯一标识符存储数据,便于跨分区查找和检索数据,提高性能。通过利用廉价的对象存储和开放格式,数据湖使许多应用程序能够利用这些数据。

数据湖是针对数据仓库的局限性而开发的。虽然数据仓库为企业提供了高性能和可伸缩的分析,但它们昂贵、专有,无法处理大多数公司正在寻求解决的现代应用场景。数据湖通常用于将企业或组织的所有数据合并到一个单一的中央位置,在那里数据可以“按原样”保存,而不需要像数据仓库那样预先设置模式(即数据如何组织的正式结构)。在细化过程的所有阶段的数据都可以存储在数据湖中:原始数据可以与企业或组织的结构化、表格数据源(如数据库表)以及在细化原始数据的过程中生成的中间数据表一起摄入和存储。与大多数数据库和数据仓库不同,数据湖可以处理所有数据类型——包括图像、视频、音频和文档等非结构化和半结构化数据——这对于当今的机器学习和高级分析的应用场景至关重要。

为什么要使用数据湖?

首先,数据湖是开放格式的,因此用户可以避免被像数据仓库这样的专有系统所束缚,而数据仓库在现代数据体系结构中已经变得越来越重要。数据湖还具有高耐久性和低成本,因为它们能够伸缩和利用对象存储。此外,非结构化数据的高级分析和机器学习是当今企业最重要的战略重点之一。获取各种格式(结构化、非结构化、半结构化)的原始数据的独特能力,以及上述提到的其他好处,使数据湖成为数据存储的明确选择。

当架构合理时,数据湖能够:

  • 助力数据科学和机器学习。数据湖允许我们将原始数据转换为结构化数据,以便提供低延迟的SQL分析、数据科学和机器学习。原始数据可以以较低的成本无限期地保留下来,以便将来在机器学习和分析中使用。
  • 对数据进行集中、合并和编目。集中的数据湖消除了数据竖井的问题(如数据复制、多重安全策略和协作困难),为下游用户提供了一个单一的地方来查找所有数据源。
  • 快速、无缝地集成各种数据源和格式。任何以及所有的数据类型都可以被收集并无限期地保留在数据湖中,包括批处理和流数据、视频、图像、二进制文件等。由于数据湖为新数据提供了一个着陆区,所以它总是最新的。
  • 通过为用户提供自助服务工具,使数据大众化。数据湖具有令人难以置信的灵活性,允许拥有完全不同技能、工具和语言的用户同时执行不同的分析任务。

数据湖面临的挑战

尽管数据湖的优点很多,但由于缺乏一些关键特性,数据湖的许多承诺都没有实现:不支持事务、不强制执行数据质量或治理,以及性能优化很差。结果,企业中的大多数数据湖变成了数据沼泽。

  • 数据可靠性问题。如果没有适当的工具,数据湖可能会遭遇数据可靠性问题,这使得数据科学家和分析人员很难对数据进行推理。这些问题可能源于难以结合批处理和流数据、数据损坏和其他因素。
  • 缓慢的性能。随着数据湖中数据大小的增加,传统查询引擎的性能通常会变慢。一些瓶颈包括元数据管理、不恰当的数据分区等。
  • 缺乏安全特性。由于缺乏可见性和删除或更新数据的能力,数据湖很难得到适当的保护和管理。这些限制使得它很难满足监管机构的要求。

由于这些原因,传统的数据湖本身不足以满足寻求创新的企业的需求,这就是为什么企业经常在复杂的体系结构中操作,数据被隔离在不同的存储系统中:数据仓库、数据库和企业中的其他存储系统。对于那些希望利用机器学习和数据分析的力量在未来十年胜出的公司来说,通过统一数据湖中的所有数据来简化这种架构是第一步。

Lakehouse如何解决这些挑战

应对数据湖挑战的答案是Lakehouse,它通过在数据湖上添加事务性存储层来解决数据湖的挑战。一种使用类似于数据仓库的数据结构和数据管理功能的Lakehouse,但却直接在云数据湖上运行。最终,Lakehouse允许传统的分析、数据科学和机器学习在同一个系统中共存,所有这些都以开放的形式存在。

湖屋为跨功能的企业级分析、BI和机器学习项目提供了广泛的新应用场景,可以释放大量的商业价值。数据分析师能通过使用SQL查询数据湖收获丰富的见解;数据科学家可以连接和丰富数据集,以生成更精确的ML(机器学习)模型;数据工程师可以构建自动化的ETL管道,而商业智能分析师可以比以前更快更容易地创建可视化仪表板和报告工具。这些用例都可以在数据湖上同时执行,而不需要提升和转移数据,即使是在新数据流进来的时候。

使用Delta Lake搭建Lakehouse

为了建立一个成功的Lakehouse,企业转向了Delta Lake,这是一个开放格式的数据管理和治理层,结合了数据湖和数据仓库的优点。在各个行业,企业都在利用Delta Lake提供可靠的、单一的真实来源来推动合作。通过为数据湖提供高质量、高可靠性、高安全性和高性能,Delta Lake消除了数据孤岛,使整个企业都能访问分析数据。有了Delta Lake,客户可以建立一个成本效益高,高度可扩展的Lakehouse,消除数据竖井,并为终端用户提供自助式分析。


《PySpark原理深入与编程实战》