AWS开源文件客户端Mountpoint,供用户在本地文件系统挂载S3对象

AWS开源适用于Amazon S3的文件客户端MountpointAlpha测试版,Mountpoint以程序语言Rust开发,能将本地文件系统的API调用,转换成为S3对象的API调用,适合用于处理PB级资料,或是跨数千个执行实例的读取密集资料湖工作负载。

AWS开发Mountpoint的原因,官方解释,因为部分资料湖用户使用特定领域的工具,这些工具输入和输出皆为本地文件系统的文件,而不支持S3对象API。像是开源的Linux基因组学研究工具便需要对本地文件系统读取定序资料,又或是机器学习训练工作管线,也需要在本地文件系统存储检查点文件。

用户要将这些应用串联上S3可能是一件复杂的工作,又或是缺乏应用程序的源码,因此也无法完成这样的目标。Mountpoint是开源文件客户端,能够让Linux应用程序简单地连接到S3存储桶,并且使用文件API访问对象,Mountpoint擅长处理需要平行读取、生成大量S3资料,且不需要更新既有S3对象的任务。

Mountpoint使用户能够将S3存储桶或是前缀,映射到执行实例的文件系统命名空间,把存储桶的内容当作本地文件一样取用,对S3进行GET和PUT操作,并且在不需要更改程序代码和担心性能配置下,就可达到每秒TB级的聚合吞吐量。

不过,Mountpoint毕竟不是通用网络文件系统,因此存在一些文件操作限制,目前Alpha测试版还不支持写入对象,官方提到,未来Mountpoint也只会支持串行写入新对象。因此需要执行跨执行实例或是用户协作的共享文件应用程序,AWS建议使用FSx或是EFS等全托管文件服务。

当资料湖应用程序不需要使用其他文件系统文件读取大型对象,或是只需要对单一节点写入对象,则Mountpoint便是可高性能访问S3的好用工具。AWS目前已经发布Mountpoint Alpha测试版,用户可以在GitHub上取用程序代码。