数据湖存储架构选型

简介: 阿里巴巴计算平台事业部郑锴为大家带来数据湖存储架构选型的介绍

本文内容来自由阿里云计算平台事业部与阿里云开发者社区联合主办的大数据+AI meetup 2020第二站·上海讲师郑锴的分享《数据湖存储架构选型》


一、数据湖是个潮流

简单来讲,数据湖的理念就是说从一个企业的视角来讲,把整个数据集中的统一的存储在一起,主要通过 BI 和 AI 的手段来计算分析原始的数据。数据的类型不光是结构化、半结构化的,还包括音视频,这样的一些材料。

什么事数据湖.png

我们为什么要基于数据湖来做这样的一个转型呢,数据湖能够给我们带来什么样的好处呢。

第一,打破数据孤岛。就是说原始的数据我们先不考虑怎么去处理它、分析它,甚至是说我们先不考虑它到底会不会解决很大的业务上面的问题,我们先把它放在一起,打破数据孤岛,为后面的业务发展演化和计算,可能就提供了很好的一个机会。

第二,基于统一的、集中的整个数据的收集,可以支持各种各样的计算。

第三,弹性。我们数据湖本身是有弹性的,然后支持的计算也是有弹性的。弹性可能在云上面带来成本的很大的伸缩性的空间,为我们优化存储和计算的成本带来了这样一个可能。

第四,管理。我们把数据放在一起,可以提供统一的、集中的这样一个管理控制。

为啥要数据户.png

熟悉 Hadoop 整个生态的话,过去经常会谈到一个非常大的、非常复杂的生态的大图。那个图里面涉及到非常多的组件,结构关系非常复杂。而基于数据湖的架构,可以得到大大的简化。

如下图所示,最下面是数据湖本身,基于这样的一个数据湖存储,我们可以有一个统一的元数据服务,做数据湖的创建管理,然后围绕数据湖做数据的治理开发,和各种数据源的集成打通。但是这个并不是目的,最主要的作用还是说我们要做计算。数据湖的计算,简单来讲就是说我们有各种各样的开源的 BI 的引擎,或者 AI 的引擎,每个引擎可能有自己的集群,然后基于数据湖来进行相应的计算场景的处理。然后满足我们最上面的基于数据湖的各种应用,比如说数据大屏,数据报表,数据挖掘,机器学习。

数据户架构.png

二、湖存储/加速:挑战很大

数据湖架构里面,对于存储的挑战很大。

第一,最大的一个因素是数据量的问题。按照数据湖的理念,我们要把所有的数据全部都放在一起,那么在数据的规模上来讲是非常大的,数据规模可以膨胀到 PB、EB 级别。

第二,文件的规模。从存储系统的角度来讲,文件的规模可以说也是非常大,要么就是层次非常深,要么就是非常扁平。扁平就是说一个目录下可能会有几百万的文件数,形成这样一个超大的目录。

第三,成本。我要收集那么多的数据,我要把全部原始的数据放在一起,成本上怎么去优化。

海量数据.png

另外一个挑战就是说,按照数据湖的架构,它背后的本质是存储和计算分离。现在是专业化的分工,存储的做存储,计算的做计算,这个带来非常大的研发效率的这样一个提升。但是分离了之后,怎么满足计算的吞吐,怎么满足计算对性能的这样一个需求,这也是带来很大挑战的一个原因。

  存储计算和分离.png

另外,在数据湖的整个的方案下面,要考虑到计算场景是非常丰富的,计算的环境也是错综复杂的。大数据,我们要支持分析、交互式、实时计算。然后 AI 有自己的各种各样的引擎来训练。

然后是计算的场景,包括 EMR 、ECS 自建、云原生、混合云。这样的一些环境可能都会涉及到,我们怎么提供一个统一、集中的存储的解决方案,来满足这样一个丰富的计算场景和环境。

丰富计算厂家.png

假设我们能够克服数据量上面的挑战,满足各种计算的环境,也能够提供缓存加速,也能够满足存储的这样一个性能。现在架构师决定了我们要做数据迁移,实施层面的挑战是什么。我们要做大量数据的迁移,之后要做正确性的比对。另外,比如说, Hive 数仓,Spark 作业,可能上千上万的作业我们决定要迁移,迁移了之后要做结果的比对。迁移上来之后,可能我过去有一套成熟的治理、运维的体系,在新的架构下面,我怎么能够尽量少改,能够继续得到支持。这是实施层面的挑战。

三、完美选项之 checklist

数据湖架构下面,从存储、加速的视角,我们可以看到有这样一些挑战,那么理想的选型是什么样子的,要考虑到哪些因素,这里做了一个总结。

  • 第一, 基于对象存储,大规模存储能力。
  • 第二,大目录元数据操作能力。
  • 第三,策略灵活的缓存加速能力。
  • 第四,和计算打通优化的能力。

check list.png

  • 第五,支持数据湖新型表格存储的能力。
  • 第六,归档/压缩/安全存储的能力。
  • 第七,全面的大数据+ AI 生态支持。
  • 第八,强大迁移能力,甚至是无缝迁移能力。

以上就是作为一个理想的数据湖的存储、加速方案,最好具备的一个 checklist 。考虑升级到数据湖架构的这样一些架构师可以对照一下这个 checklist ,来做方案的选型。

四、阿里云上的 JindoFS

接下来看一下阿里云上面在做的 JindoFS 这样一个方案具体是什么样的情况。简单来讲我们在做三个事情。

第一个事情就是说,我们是基于阿里云 OSS ,就是面向 Hadoop , Spark 和 AI 的生态,做了这样的一个 SDK ,然后是优化版本的。我们知道 Hadoop 是具有 OSS 的支持的,我们为什么要做一个新的。简单来讲,就是说我们要做好优化。首先,我们要做好元数据操作的优化,特别是对于大目录要做好优化。另外一个就是 Rename 优化。 我们知道对象存储一个关键的元数据操作就是目录的 rename 操作,它是一个非常大的挑战,这是对象存储的本质决定的。因为对象存储不是文件系统,它其实没有目录的概念,它的目录完全是模拟出来的。也就是说,你对一个目录进行操作,就必须要对成千上万个对象相应的进行操作来模拟。甚至是说,在一些计算场景里面,是不是能够做到跳过 rename 。另外一个是读写 IO 优化,能不能够充分的利用好对象存储带来的水平扩展的这样一个能力,来做好lO的优化。最后, OSS 的多版本,或者 OSS 的归档,我们是不是能够支持。以上是我们第一个层面的工作。

hadoop 0ss支持和优化.png

第二个事情是为 OSS 存储提供一个缓存加速的分布式系统。首先是数据的一致性,包括元数据的一致性和缓存数据的一致性。然后是磁盘缓存,包括写时缓存,读时缓存,以及磁盘的负载均衡。最后是水位清理,包括缓存块 LRU 淘汰。

oss缓存加速系统.png

第三个事情是说,我们也打造了一个基于 OSS 的存储扩展的系统。首先是管理元数据,包括内存缓存,细粒度锁。其次是文件数据分块存放, OSS 1备份,缓存1备份。然后是性能优化,元数据操作普遍 > HDFS ,缓存读 + OSS 读 > HDFS 。最后是高扩展,基于 OSS 的大规模水平扩展。

基于0ss的存储系统.png

下面对照之前提到的 checklist ,看一下 JindoFS 的支持情况。

  • 第一,基于对象存储,大规模存储能力。支持,基于阿里云对象存储 OSS , OSS 支持 EB 级海量存储。
  • 第二,大目录元数据操作能力。支持,JindoFS 在超大目录数据加载、检索、统计、rename 上具有几倍的性能优势。
  • 第三, 缓存加速的能力。支持,JindoFS 支持在大数据分析场景、交互式查询场、机器学习训练 场景和云原生应用场景提供策略灵活的分布式缓存加速能力; 缓存加速的性能提升大于 50% 的效果优于开源方案。
  • 第四,和计算打通优化的能力。支持,和 JindoFS co-design 的 JindoTable 提供对数仓表的缓存、计算加速、治理优化和归档存储支持。

check表哥.png

  • 第五,支持数据湖新型表格存储的能力。支持,JindoFS 提供 Delta 、Hudi 和 Iceberg 所需要的存储接口和事务支持语义,并支持 Flink 实时入湖。
  • 第六,归档/压缩/安全存储的能力。支持, JindoFS 在目录、表、分区级别支持 OSS 归档;提供透明压缩;支持 AK 免密保护,Ranger 授权和审计扩展功能。
  • 第七,全面的大数据+ AI 生态支持。支持,JindoFS 全面兼容和支持开源生态,提供: Hadoop JindoFS SDK; Jindo Job Committer ; POSIX fuse 支持 JindoFuse ; TensorFlow FileSystem ; Flink connector ; Kite SDK 。
  • 第八,强大迁移能力甚至是无缝迁移的能力。部分支持,提供优化的 JindoDistCp 工具,支持 Hadoop 数据源导入。

checklist contd.png

本次分享详细PPT请扫码下方二维码关注数据湖技术圈微信公众号回复1101数据湖领取!

qrcode_for_gh_f0cd22f9c90e_258.jpg

推荐相关阅读:

数据湖架构,为什么需要“湖加速”?


更多数据湖相关信息交流请加入阿里巴巴数据湖技术钉钉群

数据湖丁群二维码.png

相关实践学习
数据湖构建DLF快速入门
本教程通过使⽤数据湖构建DLF产品对于淘宝用户行为样例数据的分析,介绍数据湖构建DLF产品的数据发现和数据探索功能。
快速掌握阿里云 E-MapReduce
E-MapReduce 是构建于阿里云 ECS 弹性虚拟机之上,利用开源大数据生态系统,包括 Hadoop、Spark、HBase,为用户提供集群、作业、数据等管理的一站式大数据处理分析服务。 本课程主要介绍阿里云 E-MapReduce 的使用方法。
目录
相关文章
|
3月前
|
存储 缓存 关系型数据库
鱼和熊掌如何兼得?一文解析RDS数据库存储架构升级
阿里云RDS率先推出新型存储类型通用云盘,提供低延迟、低成本、高持久性的用户体验。
鱼和熊掌如何兼得?一文解析RDS数据库存储架构升级
|
3月前
|
存储 缓存 固态存储
【vsan数据恢复】vsan分布式存储架构数据恢复案例
VSAN数据恢复环境: 一套有三台服务器节点的VSAN超融合基础架构,每台服务器节点上配置2块SSD硬盘和4块机械硬盘。 每个服务器节点上配置有两个磁盘组,每个磁盘组使用1个SSD硬盘作为缓存盘,2个机械硬盘作为容量盘。三台服务器节点上共配置6个磁盘组,共同组成VSAN存储空间,存放虚拟机文件。 需要恢复服务器节点上的数据库数据。 VSAN故障: 非正常关机导致VSAN逻辑架构出现故障,部分虚拟机磁盘组件出现问题,磁盘文件丢失。
|
1月前
|
存储 Kubernetes 固态存储
IEEE HPCA 2024|LightPool:高性能、轻量级的存储池化架构
IEEE HPCA 2024|LightPool:高性能、轻量级的存储池化架构
|
1月前
|
存储 监控 容灾
TiDB存储层深入:分布式存储架构与数据一致性保障
【2月更文挑战第26天】本文将深入探讨TiDB的存储层,详细解析其分布式存储架构、数据复制机制以及数据一致性保障措施。通过了解存储层的核心组件和工作原理,我们可以更好地理解TiDB如何确保数据的可靠性、高可用性和可扩展性。本文将从存储层的架构、数据分布、容错机制等方面展开介绍,帮助读者全面掌握TiDB存储层的关键技术和优势。
|
1月前
|
SQL 缓存 分布式计算
日增数据超10PB!揭秘沃尔玛Lakehouse架构选型之路
日增数据超10PB!揭秘沃尔玛Lakehouse架构选型之路
45 2
|
1月前
|
存储 SQL 机器学习/深度学习
通用数据湖仓一体架构正当时
通用数据湖仓一体架构正当时
65 2
|
2月前
|
存储 缓存 程序员
DP读书:鲲鹏处理器 架构与编程(三)高性能处理器的存储组织与片上互联
DP读书:鲲鹏处理器 架构与编程(三)高性能处理器的存储组织与片上互联
238 0
|
2月前
|
存储 缓存 关系型数据库
Mysql专栏 - Linux底层交互和Raid存储架构
Mysql专栏 - Linux底层交互和Raid存储架构
78 0
|
6天前
|
敏捷开发 监控 数据管理
构建高效微服务架构的五大关键策略
【4月更文挑战第20天】在当今软件开发领域,微服务架构已经成为一种流行的设计模式,它允许开发团队以灵活、可扩展的方式构建应用程序。本文将探讨构建高效微服务架构的五大关键策略,包括服务划分、通信机制、数据管理、安全性考虑以及监控与日志。这些策略对于确保系统的可靠性、可维护性和性能至关重要。
|
6天前
|
消息中间件 监控 持续交付
构建高效微服务架构:后端开发的进阶之路
【4月更文挑战第20天】 随着现代软件开发的复杂性日益增加,传统的单体应用已难以满足快速迭代和灵活部署的需求。微服务架构作为一种新兴的分布式系统设计方式,以其独立部署、易于扩展和维护的特点,成为解决这一问题的关键。本文将深入探讨微服务的核心概念、设计原则以及在后端开发实践中如何构建一个高效的微服务架构。我们将从服务划分、通信机制、数据一致性、服务发现与注册等方面入手,提供一系列实用的策略和建议,帮助开发者优化后端系统的性能和可维护性。