数据湖架构及概念简介

阿里云云栖号 阿里云云栖号     2022-12-08     170

关键词:

摘要:本文整理自阿里云开源大数据技术专家陈鑫伟在7月17日阿里云数据湖技术专场交流会的分享。本篇内容主要分为两个部分:
1.数据湖演进历程
2.云原生数据湖架构

一、数据湖演进历程

什么是数据湖?

数据湖概念于 2010 年提出,其目的是解决传统数据仓库和数据集市所面临的两个问题:其一,希望通过统一的元数据存储解决数据集市之间的数据孤岛问题;其二,希望存储原始数据,而非存储数据集市建设过程中经过裁剪后的数据,以避免数据原始信息的丢失。当时,开源的 Hadoop 是数据湖的主要代表。

随着云计算的发展, 2015 年,各个云厂商开始围绕云上的对象存储重新解读和推广数据湖。云上对象存储具有大规模、高可用和低成本的优势,逐步替代了 HDFS 成为云上统一存储的主流选择。云上的对象存储支持结构化、半结构化和非结构化的数据类型,同时以存算分离的架构和更开放的数据访问方式支持多种计算引擎的分析,主要代表有 AWS S3 和阿里云的OSS。

2019年,随着 Databricks 公司和 Uber 公司陆续推出Delta Lake、Hudi 和 Iceberg 数据湖格式,通过在数据湖的原始数据之上再构建一层元数据层、索引层的方式,解决数据湖上数据的可靠性、一致性和性能等问题。同时,流式计算技术如Flink、AI 技术等也开始在数据湖上有了更广泛的应用。

同年,AWS 和阿里云也相继推出了 Data Lake Formation 等数据湖构建和管理的产品,能够帮助用户更快速地构建和管理云上数据湖。数据湖架构的不断演进和成熟也得到了更多客户的关注和选择。

数据湖架构演进

早期,用户基本在 IDC 机房里基于服务器或虚拟机建设 Hadoop 集群,主要的存储为 HDFS ,主流的计算引擎为 Hive 和 Spark 等。

随着云计算的发展,很多用户为了解决 IDC 机房在资源扩缩容和运维方面的困难,开始选择在云上构建自己的数据湖平台。可以选择云上提供的大数据构建平台,比如EMR,来帮助快速建设和部署多个集群。

但大部分早期用户选择直接将云下的架构搬到云上,依然以 HDFS为主要的存储,因此 HDFS 的问题依然存在,比如 NameNode 的扩展性问题、稳定性问题;比如计算资源和存储资源的耦合问题等;数据也存储于集群内部,跨集群、跨引擎的数据访问也会存在问题。

而现在更主流的选择是数据湖架构,基于云上对象存储如OSS做统一存储。在存储之上,有一套管控平台进行统一的元数据管理、权限管理、数据的治理。再上层会对接更丰富的计算引擎或计算产品,除了 Hadoop、Hive、Spark 等离线分析引擎,也可以对接流式的引擎比如 Flink,Olap引擎如 ClickHouse、Doris、StarRocks 等。

二、云原生数据湖架构

阿里云数据湖发展历程

阿里云在数据湖方向已经经过了很多年的发展。最早期的 OSS 发布于2011年,彼时数据湖的应用场景还很少。直到 2015 年,阿里云发布了云上 EMR 产品,开始将 Hive 和Spark 放至 EMR 集群,再将数据放至OSS,存算分离的架构开始流行。

2018年和 2019 年,阿里云相继推出了数据湖分析DLA和数据湖构建DLF两款专门面向数据湖的产品。 2022 年推出的数据湖存储(OSS-HDFS)以及 EMR Data Lake 集群,数据湖解决方案的产品矩阵逐步形成。

整个历程中,有三个标志性事件:2019年,阿里云发布了《阿里云云原生数据湖白皮书》,很多业内伙伴都基于这份白皮书开始研究学习和建设自己的数据湖;同年阿里云也打通数据湖和自研的 MaxCompute 云原生数仓,推出了湖仓一体架构; 2022 年,阿里云成为首批通过通信院的云原生数据湖测评认证的企业。

数据湖建设思路及挑战

经过多年沉淀,阿里云在数据湖的建设上也积累了一定的经验和思路。我们认为数据湖的建设主要包括四个阶段。

第一阶段:数据入湖。

通过各种各样的入湖方式将数据导入数据湖。入湖方式可以根据自己的业务需求和场景进行选择,比如全量入湖、CDC更新入湖、实时追加写入以及整个 Hadoop 集群搬迁上云等。

第二阶段:数据湖存储与管理。

帮助用户更好地管理发现和高效使用数据湖里的数据。此阶段主要包括以下几个方面:

① 数据目录与检索:一方面能够提供元数据的服务,另一方面能够提供数据的快速检索能力。

② 权限控制与审计:因为数据湖本身是相对开放和松散的体系,需要有比较强的权限管控的能力来保证企业数据的安全性。

③ 数据质量控制:避免数据湖发展成数据沼泽的关键手段。

④ 湖表管理与优化:管理优化数据湖格式。

⑤ 存储管理与优化:对象存储提供了数据冷热分层的特性,但这些特性落地时还需要辅以自动化的手段以进行存储管理优化。

第三阶段:数据处理与分析。

可以根据实际场景选择多种数据处理和分析方式,比如做离线分析、实时计算、交互式分析、AI训练等。

第四阶段:数据服务与应用。

数据湖较为开放,因此可以直接用 BI 系统、可视化系统连接数据湖上的引擎,进行实时分析或可视化的数据展示等。另一方面,数据湖里的数据也可以再进一步同步或 Sink 到更专业的数据系统中,比如到 ES 里进行进一步数据检索,比如到ClickHouse/Doris/StarRocks等做更丰富的多元分析。

阿里云云原生数据湖解决方案

经历了多年的摸索后,阿里云推出了一个较为完整的云原生数据湖解决方案,整体架构如上图所示:

底层是存储层:统一存储各类数据,并对外提供文件访问的接口和协议。

第二层是管控层:可以理解为服务化的管控与优化,一方面提供统一的元数据、统一权限管控,另一方面提供智能化数据湖管理、快速数据检索等能力。

第三层是多元的计算与分析层:可以通过很多开源或阿里云自研的分析引擎对湖内数据进行加工和处理。

最上层是数据开发治理层:提供了面向湖和仓完善的数据开发体系以及数据治理平台。

由此可见,数据湖的建设不仅仅是大数据相关技术的集成和应用,同时也是一个复杂的系统工程,需要有成熟的方法论以及平台型的基础设施做支撑,才能建设出安全可靠、功能完善、成本可控的企业级数据湖。

了解更多:

[1] 数据湖构建Data Lake Formation:https://www.aliyun.com/product/bigdata/dlf

[2] 开源大数据平台EMR: https://www.aliyun.com/product/emapreduce

[3] 数据湖揭秘—Delta Lake: https://developer.aliyun.com/article/909818

[4] 数据湖构建—如何构建湖上统一的数据权限: https://developer.aliyun.com/article/918403

[5] 关于 Data Lake 的概念、架构与应用场景介绍:https://developer.aliyun.com/article/944650

原文链接

本文为阿里云原创内容,未经允许不得转载。

2万字,详解数据湖,概念特征架构方案场景以及建湖全过程(建议收藏)

导读:最近,数据湖的概念非常热,许多前线的同学都在讨论数据湖应该怎么建?有没有成熟的数据湖解决方案?各大厂商的数据湖解决方案到底有没有实际落地的案例?怎么理解数据湖?数据湖和大数据平台有什么不同?带着... 查看详情

hudi核心知识点详解——快速入门数据湖(代码片段)

文章目录1数据湖与数据仓库的区别?2Hudi基础功能2.1Hudi简介2.2Hudi功能2.3Hudi的特性2.4Hudi的架构2.5湖仓一体架构3Hudi数据管理3.1Hudi表数据结构3.1.1.hoodie文件3.1.2数据文件3.2数据存储概述3.3Metadata元数据3.4Index索引3.4.1索引策略3.5D... 查看详情

数据湖是什么?数据湖和数据仓库什么关系,数据湖的架构分析

什么是数据湖?数据湖是一个存储库,可以存储大量结构化、半结构化和非结构化数据。它是一个以本机格式存储每种类型数据的地方,不受帐户大小或文件的固定限制。它提供了高数据量来提高分析性能和本地集成。数据湖就... 查看详情

lakehouse架构解析与云上实践

简介:本文整理自DataFunCon2021大会上,阿里云数据湖构建云产品研发陈鑫伟的分享,主要介绍了Lakehouse的架构解析与云上实践。作者简介:陈鑫伟(花名熙康),阿里云开源大数据-数据湖构建云产品研... 查看详情

数据湖:数据湖技术架构演进

...司,每天都会生成几十、几百TB,甚至几PB的原始数据。这些公司通常采用开源的大数据组件来搭建大数据平台。大数据平台经历过“以Hadoop为代表的离线数据平台”、“Lambda架构平台”、“Kappa架构平台”三个阶段。  ... 查看详情

企业级数据湖实践

简介:2021云栖大会云原生企业级数据湖专场,阿里云智能高级解决方案架构师周皓为我们带来《企业级数据湖最佳实践》的分享。本文主要分享了数据湖的核心能力及几个最佳实践案例。以下是精彩视频内容整理一、统... 查看详情

数据湖04:数据湖技术架构演进

  系列专题:数据湖系列文章1.背景        国内的大型互联网公司,每天都会生成几十、几百TB,甚至几PB的原始数据。这些公司通常采用开源的大数据组件来搭建大数据平台。大数据平台经历过“以Hadoop为代表... 查看详情

珍藏版⼤数据中台架构及解决⽅案

持续输出敬请关注大数据架构 湖仓一体化 流批一体离线+实时数仓 各种大数据解决方案 各种大数据新技术实践持续输出 敬请关注⼤数据平台基础架构及解决⽅案_大数据研习社的博客-CSDN博客https://blog.csdn.net/dajiangtai007/art... 查看详情

从“智能湖仓”升级看数据平台架构未来方向

在2021年初全年技术趋势展望中,数据湖与数据仓库的融合,成为大数据领域的趋势重点。直至年末,关于二者的讨论依然热烈,行业内的主要分歧点在于数据湖、数据仓库对存储系统访问、权限管理等方面的把控... 查看详情

从“智能湖仓”升级看数据平台架构未来方向

在2021年初全年技术趋势展望中,数据湖与数据仓库的融合,成为大数据领域的趋势重点。直至年末,关于二者的讨论依然热烈,行业内的主要分歧点在于数据湖、数据仓库对存储系统访问、权限管理等方面的把控... 查看详情

云原生数据湖应用洞察白皮书

内容整理自:艾瑞咨询《中国云原生数据湖应用洞察白皮书》概念界定:数据湖是面向大数据场景的创新解决方案,采用了与传统数仓不同的设计架构,具有「数据多源异构、统一存储管理、多范式计算、schema后... 查看详情

云原生数据湖应用洞察白皮书

内容整理自:艾瑞咨询《中国云原生数据湖应用洞察白皮书》概念界定:数据湖是面向大数据场景的创新解决方案,采用了与传统数仓不同的设计架构,具有「数据多源异构、统一存储管理、多范式计算、schema后... 查看详情

o`reillyfreebook:数据湖构架简介

O`Reilly的《ArchitectingDataLakesDataManagementArchitecturesforAdvancedBusinessUseCases》,全面介绍了数据湖的构架、工作机理、构建与管理、规划、价值、展望等诸多方面的内容。其目录如下:1.Overview    WhatIsaDataLake?    查看详情

数据湖和数据仓库的区别是啥?

我们都知道,进行数据分析工作的时候会用到很多的工具,比如说数据湖和数据仓库,不过这两者之间的差异和区别,可能会让人困惑。那么大家数据湖和数据仓库的区别:一个数据湖专门用于存储任何形式的数据,即结构化或... 查看详情

谷歌云架构:数据湖可以用于 OLTP 吗?

】谷歌云架构:数据湖可以用于OLTP吗?【英文标题】:GoogleCloudArchitecture:CanadatalakebeusedforOLTP?【发布时间】:2020-01-1816:11:54【问题描述】:我想在Google云中设计一个大型Web应用程序,我需要一个OLAP系统来创建ML模型,我计划通过... 查看详情

湖仓一体数据平台架构

随着数字化技术的更新迭代,数据库、数据仓库、数据湖等各种概念层出不穷,MPP数据库、Hadoop、对象存储、Hudi等各种数据技术不断涌现,湖仓一体概念逐步被人们所关注,在国际知名机构Gartner发布的《HypeCyclefo... 查看详情

微服务架构与实践及云原生等相关概念

...一单块架构  1 定义:对于这种功能集中、代码和数据中心化、一个发布包、部署后运行在同一进程的应用程序,我们通常称之为单块架构应用,并非物理上的分层。  2 单层架构:数据逻辑页面混合  3 三层架... 查看详情

大数据olap架构及技术实现的演进简介

文章目录一、架构分类二、技术演进1、传统关系型数据库时期2、大数据技术时期你的点赞与评论是我最大的创作动力!一、架构分类OLAP名为联机分析,又称多维分析,什么是多维分析,指的是多种不同的维度审... 查看详情