博客 数据湖的相关定义是什么?

数据湖的相关定义是什么?

   数栈君   发表于 2023-10-20 10:25  188  0

近几年数据湖的概念非常火热,但是数据湖的定义并不统一,我们先看下数据湖的相关定义。

Wikipedia对数据湖的定义:

A data lake is a system or repository of datastored in its natural/raw format,usually object blobsor files. A data lake is usually a single store of all enterprise data including raw copies of source system data and transformed data used for tasks such as reportingvisualizationadvanced analyticsand machine learning. A data lake can include structured datafrom relational databases(rows and columns), semi-structured data (CSV, logs, XMLJSON), unstructured data(emails, documents, PDFs) and binary data(images, audiovideo). A data lake can be established "on premises" (within an organization's data centers) or "in the cloud" (using cloud services from vendors such as Amazon, Google and Microsoft).A data swamp is a deteriorated and unmanaged data lake that is either inaccessible to its intended users or is providing little value.

数据湖是指使用大型二进制对象或文件这样的自然格式储存数据的系统。它通常把所有的企业数据统一存储,既包括源系统中的原始副本,也包括转换后的数据,比如那些用于报表, 可视化, 数据分析和机器学习的数据。数据湖可以包括关系数据库结构化数据(行与列)、半结构化的数据(CSV,日志,XMLJSON),非结构化数据 (电子邮件、文件、PDF)和 二进制数据(图像、音频、视频)。储存数据湖的方式包括 Apache Hadoop分布式文件系统, Azure 数据湖或亚马逊云 Lake Formation云存储服务,以及诸如 Alluxio 虚拟数据湖之类的解决方案。数据沼泽是一个劣化的数据湖,用户无法访问,或是没什么价值。

AWS的定义相对简洁:

A data lake is a centralized repository that allows you to store all your structured and unstructured data at any scale. You can store your data as-is, without having to first structure the data, and run different types of analytics—from dashboards and visualizations to big data processing, real-time analytics, and machine learning to guide better decisions.

数据湖是一个集中式存储库,允许您以任意规模存储所有结构化和非结构化数据。您可以按原样存储数据(无需先对数据进行结构化处理),并运行不同类型的分析 – 从控制面板和可视化到大数据处理、实时分析和机器学习,以指导做出更好的决策。

Azure等其他云厂商也有各自的定义,本文不再赘述。

但无论数据湖的定义如何不同,数据湖的本质其实都包含如下四部分:

1. 统一的存储系统

2. 存储原始数据

3. 丰富的计算模型/范式

4. 数据湖与上云无关

从上述四个标准判断,开源大数据的Hadoop HDFS存储系统就是一个标准的数据湖架构,具备统一的原始数据存储架构。而近期被广泛谈到的数据湖,其实是一个狭义的概念,特指“基于云上托管存储系统的数据湖系统,架构上采用存储计算分离的体系”。例如基于AWS S3系统或者阿里云OSS系统构建的数据湖。 

下图是数据湖技术架构的演进过程,整体上可分为三个阶段:

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/8de961e2d7d3855da3d3f04080c7357a..jpg

图3. 数据湖技术架构演进

1. 阶段一:自建开源Hadoop数据湖架构,原始数据统一存放在HDFS系统上,引擎以Hadoop和Spark开源生态为主,存储和计算一体。缺点是需要企业自己运维和管理整套集群,成本高且集群稳定性差。

2. 阶段二:云上托管Hadoop数据湖架构(即EMR开源数据湖),底层物理服务器和开源软件版本由云厂商提供和管理,数据仍统一存放在HDFS系统上,引擎以Hadoop和Spark开源生态为主。这个架构通过云上 IaaS 层提升了机器层面的弹性和稳定性,使企业的整体运维成本有所下降,但企业仍然需要对HDFS系统以及服务运行状态进行管理和治理,即应用层的运维工作。同时因为存储和计算耦合在一起,稳定性不是最优,两种资源无法独立扩展,使用成本也不是最优。

3. 阶段三:云上数据湖架构,即云上纯托管的存储系统逐步取代HDFS,成为数据湖的存储基础设施,并且引擎丰富度也不断扩展。除了Hadoop和Spark的生态引擎之外,各云厂商还发展出面向数据湖的引擎产品。如分析类的数据湖引擎有AWS Athena和华为DLI,AI类的有AWS Sagemaker。这个架构仍然保持了一个存储和多个引擎的特性,所以统一元数据服务至关重要,如AWS推出了Glue,阿里云EMR近期也即将发布数据湖统一元数据服务。该架构相对于原生HDFS的数据湖架构的优势在于:

  • 帮助用户摆脱原生HDFS系统运维困难的问题。HDFS系统运维有两个困难:1)存储系统相比计算引擎更高的稳定性要求和更高的运维风险 2)与计算混布在一起,带来的扩展弹性问题。存储计算分离架构帮助用户解耦存储,并交由云厂商统一运维管理,解决了稳定性和运维问题。

  • 分离后的存储系统可以独立扩展,不再需要与计算耦合,可降低整体成本

  • 当用户采用数据湖架构之后,客观上也帮助客户完成了存储统一化(解决多个HDFS数据孤岛的问题)

下图是阿里云EMR数据湖架构图,它是基于开源生态的大数据平台,既支持HDFS的开源数据湖,也支持OSS的云上数据湖。

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/ae4148c5b1e663ad3ed631a8cb9109d7..jpg

图4. 阿里云EMR数据湖架构

企业使用数据湖技术构建大数据平台,主要包括数据接入、数据存储、计算和分析、数据管理、权限控制等,下图是Gartner定义的一个参考架构。当前数据湖的技术因其架构的灵活性和开放性,在性能效率、安全控制以及数据治理上并不十分成熟,在面向企业级生产要求时还存在很大挑战(在第四章会有详细的阐述)。

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/870d94299ddee20dcf02bdc44fc99cc3..jpg

图5. 数据湖架构图(来自网络)

免责申明:

本文系转载,版权归原作者所有,如若侵权请联系我们进行删除!

《数据治理行业实践白皮书》下载地址:https://fs80.cn/4w2atu

《数栈V6.0产品白皮书》下载地址:
https://fs80.cn/cw0iw1

想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:
https://www.dtstack.com/?src=bbs

同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术群」,交流最新开源技术信息,群号码:30537511,项目地址:
https://github.com/DTStack  

0条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

最新活动更多
微信扫码获取数字化转型资料
钉钉扫码加入技术交流群