对象存储和新型分布式文件系统 - 填补Hadoop存储的空白

简介: IT软硬件架构、企业部署已经发生了翻天覆地的变化,在这些新的变革下,HDFS露出了一定的颓势。但是云上对象存储是唯一的选择吗?面向on-premise,云环境以及混合云环境,在这新旧存储架构交替之际,数据存储会如何发展呢,如何填补Hadoop存储留下的空白?

背景

Hadoop分布式文件系统(HDFS)从Hadoop出现到现在已有了10多个年头。HDFS的出现和成熟为企业提供了廉价的海量数据存储方案,大数据存储不再是“王谢堂前燕”,而真正地“飞入”了各个公司。但是10多年的时间,IT软硬件架构、企业部署已经发生了翻天覆地的变化,在这些新的变革下,HDFS露出了一定的颓势。但是云上对象存储是唯一的选择吗?面向on-premise,云环境以及混合云环境,在这新旧存储架构交替之际,数据存储会如何发展呢,如何填补Hadoop存储留下的空白?

本文为翻译文章,翻译自datanami的文章 Object and Scale-Out File Systems Fill Hadoop Storage Void[1].

前言

快速增长的数据量以及变化的数据处理方式对于现有的、已经建立起来的大数据存储架构产生了一定的影响。在原先的方案中,一个组织想要存储PB级的弱结构化数据,他们往往首先会想到的是on-premise数据湖架构。但是现在,他们会更多地去考虑多云和混合云架构下的可扩展文件系统或是对象存储,这会带来更多的灵活性。

自从Hadoop的光环渐渐褪去后,许多企业一直寻找其他方案来存储半结构化和非结构化数据,这些数据占据了泛滥的大数据中的绝大部分。这些企业希望将这些数据应用到各个场景中,其中最重要的是训练机器学习模型以使决策自动化。

尽管宣告Hadoop的死亡还为时过早[2],但是显然HDFS不再存储企业的绝大部分数据。Hadoop,就像所有之前出现的快速增长技术那样,随着人们对于其功能的重新评估,对它的期望已经从顶峰逐渐下降。Cloudera,现如今唯一的Hadoop发行者,已经脱离Hadoop一段时间了,现在正着眼于帮助客户以混合云的方式存储和处理数据方式。

鉴于大数据领域现阶段的动荡,显然,现今的趋势正在寻找一种替代的存储方式。在这之中,对象存储正在逐步蚕食Hadoop所占的领地。

对象存储

基于云的对象存储系统是当今的真正赢家,尤其是AWS[3]的S3,它已成为当今对象系统事实上的标准接口。每个销售对象存储的软件公司和大多数公有云供应商都为其对象存储提供了与S3兼容的API ,当然在这其中Microsoft Azure[4]及ADLS是个例外。

尽管公有云迅速增长,但企业仍然不愿将所有数据(鸡蛋)存储在云(一个篮子)上。这确实是一个难题,因为S3本身并没有on premise部署。

这样的需求催生了新兴的,基于混合云架构的第三方对象存储的增长,包括Red Hat[5]的开源方案,例如来自SwiftStack[6]的Swift和OpenStack[7]的Ceph,以及Minio[8]对象存储,还有一些闭源方案,如Scality[9]的Ring,Cloudian[10]的HyperStore,Dell EMC[11]的Isilon和Nutanix[12]的Objects。

对象存储,理论上没有存储上限,它实质上是大规模的键值存储,能够在单个全局命名空间中存储PB或EB级的数据,并允许使用简单的键来读取数据。同时像HDFS一样,对象存储系统可以在X86节点的群集上运行,并有容错机制,可以减少丢失数据的机会。

对象存储擅长存储大量非结构化数据,例如视频和图像。诸如像媒体娱乐、监视、医疗保健以及石油和天然气领域的公司都是对象存储的大用户,这得要归功于其存储海量数据的能力。

尽管可伸缩性和弹性是对象存储的主要优点,但I/O性能和数据局部性却是其短板。对于那些超大的群集,往往可能需要等待几秒钟才能返回所需的数据。因此,对象存储通常用于备份和存档,而不是用于热数据存取。

新型分布式文件系统

除了对象存储,现如今也出现了新一代的分布式文件系统,以及对Lustre等现有文件系统的修改。这些更新的分布式文件系统中的许多都还提供了S3兼容的API,并且还提供了对象存储的功能,但是究其内部,它们看起来更像传统文件系统。

这些新型的分布式文件系统包括Qumulo[13]的分布式文件系统,Elastfile[14]的Cloud File System(ECFS),WekaIO[15]的Matrix和Hedvig[16]的Distributed Storage Platform,等等。这些系统所针对的场景往往是那些需要更快访问的场景。

借助更先进的数据缓存和数据分层功能,这些分布式文件系统可以提供快速的文件I/O能力,为现代数据应用程序、新兴的机器学习和AI场景所用。同时,它们还能与Docker以及Kubernetes这样的容器编排框架很好地配合使用,当然也很好地适配了混合云的部署架构。

总结

软件定义存储(software-defined storage)领域现在正是高速增长中。 Gartner[17]在其2018年的分布式文件系统和对象存储魔力象限中预测,到2022年,将有80%的企业数据存储在此类可扩展的存储系统中。而2018年,则只有40%的企业数据存储在分布式文件系统和对象存储中。

image.png

显然,我们正处于存储快速变革时期。在许多情况下,对象存储和分布式文件系统之间的边界变得越来越模糊。许多供应商完全避开了这这些所谓的称呼,并称其为“data fabric”。

无论如何,他们都希望提供类似的功能,给与客户自由选择的权力,将PB级的数据存储在他们所选择的地方(on-premise,云或混合的形态),并通过各种接口提供服务,包括S3和Swift API,以及低级的块存储,和更为高级的标准NFS和SMB接口,来访问该数据。

在许多大数据的用例中,现如今HDFS似乎是这座“围城”里唯一的选择,而企业现在面临着大量的大数据存储选择。在这个领域中,尽管当前有领导者,但没有明确的领先者来为后来者明确追赶的方向(除非你将AWS的S3协议视为新的标准协议)。

就像数据孤岛的泛滥一样,我们看到了数据存储标准的泛滥。这在某种程度上增加了企业的风险,希望避免投资无法持久的技术,这迫使他们做足功课以找到适合他们的软件定义存储系统。

附录

Hitting the Reset Button on Hadoop[18]

Mike Olson on Zoo Animals, Object Stores, and the Future of Cloudera[19]

IBM Challenges Amazon S3 with Cloud Object Store[20]

References

[1] Object and Scale-Out File Systems Fill Hadoop Storage Void: https://www.datanami.com/2019/07/17/object-and-scale-out-file-systems-fill-hadoop-storage-void/
[2] Hadoop的死亡还为时过早: https://www.datanami.com/2019/06/24/hitting-the-reset-button-on-hadoop/
[3] AWS: http://www.aws.amazon.com/
[4] Microsoft Azure: http://www.azure.microsoft.com/
[5] Red Hat: https://www.redhat.com/
[6] SwiftStack: http://www.swiftstack.com/
[7] OpenStack: https://www.openstack.org/
[8] Minio: http://www.min.io/
[9] Scality: http://www.scality.com/
[10] Cloudian: http://www.cloudian.com/
[11] Dell EMC: http://www.dellemc.com/
[12] Nutanix: http://www.nutanix.com/
[13] Qumulo: http://www.qumulo.com/
[14] Elastfile: http://www.elastifile.com/
[15] WekaIO: http://www.weka.io/
[16] Hedvig: https://www.hedvig.io/
[17] Gartner: https://www.gartner.com/
[18] Hitting the Reset Button on Hadoop: https://www.datanami.com/2019/06/24/hitting-the-reset-button-on-hadoop/
[19] Mike Olson on Zoo Animals, Object Stores, and the Future of Cloudera: https://www.datanami.com/2018/09/19/mike-olson-on-zoo-animals-object-stores-and-the-future-of-cloudera/
[20] IBM Challenges Amazon S3 with Cloud Object Store: https://www.datanami.com/2016/10/12/ibm-challenges-amazon-s3-cloud-object-store/


本文转载自公众号:数据湖技术

作者:绍赛赛
原文链接


阿里巴巴开源大数据技术团队成立Apache Spark中国技术社区,定期推送精彩案例,技术专家直播,问答区近万人Spark技术同学在线提问答疑,只为营造纯粹的Spark氛围,欢迎钉钉扫码加入!
image.png

对开源大数据和感兴趣的同学可以加小编微信(下图二维码,备注“进群”)进入技术交流微信群。

image.png

Apache Spark技术交流社区公众号,微信扫一扫关注

image.png

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
3月前
|
分布式计算 Ubuntu Hadoop
百度搜索:蓝易云【Ubuntu搭建全分布式Hadoop】
请注意,以上只是概述,并不包含详细的步骤和指令。搭建全分布式Hadoop是一个复杂的过程,需要对Hadoop的架构和配置有深入的理解,并熟悉Linux系统管理。建议在搭建全分布式Hadoop之前,先学习相关知识并查阅官方文档和教程,以确保正确搭建和配置Hadoop集群。
27 0
|
11天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
3月前
|
存储 Java 对象存储
springboot配置阿里云OSS存储实现文件上传下载功能
【1月更文挑战第1天】springboot配置阿里云OSS存储实现文件上传下载功能
539 2
|
6天前
|
存储 安全 API
对象存储OSS产品常见问题之附件上传后存储存在被窃取的风险如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
10 0
|
29天前
|
存储 安全 数据安全/隐私保护
oss数据加密与存储
阿里云OSS提供多种数据加密(SSE-S3, SSE-KMS, SSE-C, CSE-KMS)与存储安全措施,包括服务器和客户端加密、数据在磁盘上加密存储、多重冗余备份、访问控制列表和HTTPS安全传输。KMS支持密钥管理,确保数据静态和传输时的安全。严格的访问策略和身份验证保护资源免受未授权访问,满足高安全性和合规性需求。
35 3
|
1月前
|
存储 监控 容灾
TiDB存储层深入:分布式存储架构与数据一致性保障
【2月更文挑战第26天】本文将深入探讨TiDB的存储层,详细解析其分布式存储架构、数据复制机制以及数据一致性保障措施。通过了解存储层的核心组件和工作原理,我们可以更好地理解TiDB如何确保数据的可靠性、高可用性和可扩展性。本文将从存储层的架构、数据分布、容错机制等方面展开介绍,帮助读者全面掌握TiDB存储层的关键技术和优势。
|
1月前
|
分布式计算 资源调度 Hadoop
Hadoop分布式
基于Java的分布式计算平台,旨在处理海量数据。【2月更文挑战第19天】
25 2
|
2月前
|
存储 缓存 固态存储
云计算基础-存储虚拟化(深信服aSAN分布式存储)
每秒钟的IOPS数,该指标主要用于评价小块IO性能,体现存储系统的IO延时能力和并发能力。业界一般默认IOPS指的是4K块大小的IO性能,该值越大说明性能越好。
53 1
|
3月前
|
存储 NoSQL 算法
redis存储什么类型的数据?redis分布式锁怎么实现的?
redis存储什么类型的数据?redis分布式锁怎么实现的?
|
3月前
|
存储 对象存储 Python
Python中使用阿里云OSS存储实现文件上传和下载功能
Python中使用阿里云OSS存储实现文件上传和下载功能
427 2