亚马逊云科技开源 Mountpoint for Amazon S3,通过挂载点技术简化 Amazon S3 对象存储的使用
在 Pi Day 活动期间,AWS 发布了 Mountpoint for Amazon S3,这是一个开源文件客户端,可以提供 Amazon S3 的高吞吐量访问。该工具目前处于 Alpha 阶段,其本地挂载点提供了很高的单实例传输速率,主要用于数据湖应用程序。
Mountpoint for Amazon S3 将本地文件系统 API 调用转换为 S3 对象 API 调用,如 GET 和 LIST。它支持对文件进行随机和顺序读操作,支持列出文件和目录。但该 Alpha 版本不支持写入操作(PUT),预计将来只支持新对象的顺序写入。
AWS 学者、德克萨斯大学助理教授 James Bornholt、AWS 高级产品经理 Devabrat Kumar 和 AWS 杰出工程师 Andy Warfield 承认,该客户端不是一个通用的网络文件系统,并且在文件操作上有一些限制,他们写道:
Mountpoint 是为大规模分析型应用程序而设计的,它们可以并行读取和生成大量的 S3 数据,但不需要向现有对象中间写入数据。Mountpoint 允许你将 S3 存储桶或前缀映射到实例的文件系统命名空间,遍历存储桶的内容,就像它们是本地文件一样,并实现对对象的高吞吐量访问。
这个开源客户端没有模拟目录重命名等操作,因为那会产生 S3 API 调用,或者说需要 S3 API 不支持的 POSIX 文件系统特性。
Mountpoint for S3 并不是第一个将 S3 作为文件系统呈现的客户端,我们也可以使用 Goofys 和 s3fs 这些流行的开源选项通过 FUSE 挂载桶。在 Reddit 上,有一些开发人员质疑新客户端的必要性,并担心它会被用在数据湖之外的领域,Bornholt、Kumar 和 Warfield 写道:
Mountpoint 并不是第一个用于访问 S3 的文件客户端——有几个开源的文件客户端,我们有客户使用过。然而,我们从这些客户那里都听到过的一个话题是,他们希望这些客户端能够提供与 S3 REST API 和 AWS SDK 相同的稳定性、性能和技术支持。
新客户端使用 Rust 在大多数 AWS SDK 都使用的公共运行时(CRT) 上构建,它依赖于自动推理来验证文件系统语义。The Duckbill Group 首席云经济学家 Corey Quinn 在推特上写道:
哦不,AWS 做了什么?15 年来,我之所以没有呼吁人们不要将 S3 用作文件系统,就是希望 S3 团队自己来做这件事!
云专家和 AWS 无服务器英雄 Ben Kehoe 提醒说:
使用文件概念来考虑 S3 会使你对 API 的语义产生误解,最终做出错误的假设,当系统总是因为这些假设不成立而出现轻微的故障时,你就要难过了。
Mountpoint 遵循 Apache License 2.0 许可,尚不能应用于生产工作负载。GitHub 上提供了初始 Alpha 版本和公共路线图。
原文链接:
https://www.infoq.com/news/2023/03/mountpoint-amazon-s3/(https://www.infoq.com/news/2023/03/mountpoint-amazon-s3/)
相关阅读:
通过 Amazon Managed Microsoft Active Directory 运行混合 Active Directory 服务 (https://xie.infoq.cn/article/929a761df9243e16ee2317b5c )
亚马逊云科技为蓝绿及金丝雀策略引入 CloudFront 持续部署 (https://www.infoq.cn/article/LW5JeoLR0Jcl1ktRNV0o )
声明:本文为 InfoQ 翻译,未经许可禁止转载。
点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!
马斯克将起诉微软,称其使用 Twitter 数据“非法”训练GPT,吃瓜网友:事情变得更有趣了!
谷歌或被抛弃!ChatGPT 引爆手机市场新一轮洗牌:Android 手机销冠三星30亿美元大单欲改投 Bing
微信扫码关注该文公众号作者