共计 2079 个字符,预计需要花费 6 分钟才能阅读完成。
传统的大数据集群往往采纳本地中心化的计算和存储集群。比方在谷歌晚期的【三驾马车】中,应用 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 等场景。
以后性能为公测能力,如需体验请退出对象存储服务群,分割咱们开启。