前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >听说你想把对象存储当 HDFS 用,我们这里有个方案...

听说你想把对象存储当 HDFS 用,我们这里有个方案...

作者头像
云存储
发布2021-11-25 10:10:24
9540
发布2021-11-25 10:10:24
举报
文章被收录于专栏:用户5909132的专栏

传统的大数据集群往往采用本地中心化的计算和存储集群。比如在谷歌早期的【三驾马车】中,使用 GFS 进行海量网页数据存储,用 BigTable 作为数据库并为上层提供各种数据发现的能力,同时用 MapReduce 进行大规模数据处理。

但随着互联网业务的发展,本地中心化的架构开始受到以下两个方面的挑战:

  • 数据增长越来越快,并且数据格式更加丰富多样,非结构化数据越来越多。传统的分布式存储引擎难以大规模存储和处理文本、音视频等非结构化数据。
  • 计算和存储强耦合在本地应用上,缺少弹性。强耦合的模式增加了企业成本,因为需要为计算或者存储的峰值需求准备资源。

在大约2015年之后,由于对象存储具有极高的数据持久性,跨地域的容灾以及低成本等优势,AWS S3 等公有云对象存储服务逐渐替代了 HDFS,成为越来越多企业的海量分布式存储引擎。

尽管对象存储可以提供低成本的海量分布式存储,支持结构化、半结构化、非结构化数据的存储,由于对象存储和文件系统在元数据组织方式上的差异,导致原生的对象存储在传统文件系统元数据操作如 List 和 Rename 等操作上的性能差距较大。而在大数据场景下,整个MapReduce 过程中往往会产生大量的 List 和 Rename 操作,相比原生的 HDFS,在大数据分析效能会有明显的性能损失。

为了满足客户基于对象存储的大数据分析的性能要求,腾讯云对象存储基于云 HDFS 的产品能力,推出了元数据加速特性,赋予对象存储以高性能的文件系统能力。用户只需要在创建存储桶时开启元数据加速能力,即可使用文件系统语义访问对象存储,将对象存储的适用范围扩宽到大数据、高性能计算、机器学习,AI等场景。

元数据加速能力

对象存储的文件元数据信息(比如文件名,文件的分块信息,文件分块所处的服务器信息等)存储在索引库表中。按照当前主流公有云对象存储的设计,会按照字典序返回文件索引信息;加上索引信息存储在 SSD 盘上,拉取索引信息的性能会受限于 SSD 盘单进程限制,因此每个存储桶的 List QPS 很难达到较高的数值。而原生对象存储中, Rename 操作实际上对应着一次文件 Copy 操作和一次 Delete 操作,MapReduce 过程中会存在大量 Rename 操作的性能并不高。

针对这些问题,一个直观的解决方案是将元数据管理单独剖离出来,为上层计算业务提供兼容HDFS 文件系统语义的访问能力,这就是对象存储的元数据加速能力。

下图展示了元数据加速能力的一个简要示意图。区别于普通的对象存储,启用了元数据加速能力后,元数据相关的操作会路由到元数据加速层进行处理。

有了元数据加速能力的加持,就可以直接将对象存储当做 HDFS 用,用文件系统语义来访问对象存储服务。一方面,这一能力极大地提升了 List  等大数据文件系统操作的性能;另一方面,也提供了 Rename、Truncate等典型的文件系统操作指令,提供了大数据生态兼容支持

如何使用

您可以在控制台上非常便捷地为存储桶配置元数据加速能力。如下图所示,您可以在对象存储创建存储桶时开启元数据加速能力。

开启元数据加速能力后,可以通过控制台、SDK 、 API 或者 COSN 工具等方式上传文件(PutObject)、创建文件夹(CreateObject)、重命名文件(RenameObject)、追加写文件(AppendObject)或者截断文件(TruncateObject)等操作。

性能表现

上文提到元数据加速能力能够极大提升文件 List 和 Rename 等文件系统操作的性能。这一章节我们详细介绍具体的性能表现情况。

我们使用 GooseFS 建立两个不同的命名空间,分别对接开启了元数据加速能力和未开启元数据加速能力的存储桶,分别 ls 和 ls -R 不同数量级的文件。本次测试主要验证元数据操作性能,因此文件大小统一设置为 0 B。每组测试会多次测试取均值,主要评估指标为总延迟均值。

详细的测试数据如下:

元数据数量

指令类型

开启元数据加速能力

未开启元数据加速能力

5W

ls

4.359s

10.354s

100W

ls

7.065s

21.376s

50W

ls -R

4.359s

10.354s

50W

ls -R

7.065s

21.376s

可以看到,相比起普通的对象存储服务,元数据加速能力可以至少一倍的 List 请求性能。

而在 Rename 性能上,我们采用了同样的方式,多次重命名一个有 1000 个 100 KB 文件的目录, Rename 延迟测试数据如下:

测试次数

开启元数据加速能力

未开启元数据加速能力

1

1.016s

30.323s

2

1.018s

29.789s

3

1.011s

30.934s

可以看到,相比起普通的对象存储服务,元数据加速能力可以数十倍地降低 Rename 请求延迟。

写在最后

元数据加速能力拓宽了对象存储服务的使用场景,在底层采用了云 HDFS 卓越的元数据管理功能,支持用户通过文件系统语义访问对象存储服务,系统设计指标可以达到2.4Gb/s带宽、10万级 QPS 以及 ms 级延迟。存储桶在开启元数据加速功能后,可以广泛应用于大数据、高性能计算、机器学习、AI 等场景。

当前功能为公测能力,如需体验请扫描下方二维码加入【对象存储服务群】开启权限。

/ 相关推荐 /

↓↓↓

您可能还想看

1.悬赏公告 | 还在因怀才不遇发愁吗?来吧,展示!

2.对象存储 AVIF 图片压缩,即将公测!

3.智能存储 | 视频增强“全家桶”,为您的视频快速“换脸”;

4.智能存储 | 超质感 HDR 生产,激活你的视神经;

5.安排!国内首个对象存储攻防矩阵,护航数据安全;

6.腾讯云首发企业云盘解决方案,无需开发、开箱即用;

— END —

👇🏻 真诚推荐您关注👇🏻

点个在看✨你最好看

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯云存储 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云 HDFS
云 HDFS(Cloud HDFS,CHDFS)为您提供标准 HDFS 访问协议,您无需更改现有代码,即可使用高可用、高可靠、多维度安全、分层命名空间的分布式文件系统。 只需几分钟,您就可以在云端创建和挂载 CHDFS,来实现您大数据存储需求。随着业务需求的变化,您可以实时扩展或缩减存储资源,CHDFS 存储空间无上限,满足您海量大数据存储与分析业务需求。此外,通过 CHDFS,您可以实现计算与存储分离,极大发挥计算资源灵活性,同时实现存储数据永久保存,降低您大数据分析资源成本。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档