s3fs、goofys、juicefs对比

 

性能方面, s3fs 和 goofys 在 read 和 write 方面没有本地缓存,其性能是依靠 s3 的性能来支撑的,这两个文件系统整体的性能相比JuiceFS 会低一些。

最明显的是 mv,对象存储没有 rename 操作,在对象存储中进行 rename 操作就是一个 copy 加 delete,性能代价是非常大的。

ls 方面,对象存储的存储类型是 kv 存储,不具备目录语义,所以 ls 整个目录结构对于 s3 来说,其实是对整个元数据的遍历,调用代价非常大。在大数据的场景下,性能是非常低的,并且有一些特性功能是不支持的。

元数据方面,s3fs 和 goofys 没有自己独立的元数据,所有的元数据都是依赖于s3的,JuiceFS 有自己的独立的元数据存储,

易用性方面,这几个产品都是非常简单易用,通过一个简单的命令就可以实现 s3的挂载;从可维护性来说,JuiceFS 有自己的独立的元数据引擎,我们需要对元数据服务进行运维;从社区的角度来说,JuiceFS 的社区活跃度是最高的。基于以上综合考虑,金山云选择了JuiceFS。

基于 JuiceFS 的测试

 

JuiceFS 产品介绍中第一句话就是 “像本地盘一样使用对象存储”,恰恰是我们做 ES 时所需要的功能。JuiceFS 已经集成了很多种对象存储,金山云的 KS3 也已经完整兼容,只需要再选一个元数据库即可。

第二功能验证。元数据库常用的有 Redis,关系型据库、 KV 数据库等。我们从这三个层面,元数据库支撑的数据量、响应速度、可运维性来做判断。

 

从数据量上来说,TiKV 无疑是最高的,但是我们的设计初衷是让每套 ES 集群独立一个元数据库实例,因此不同集群之间的元数据是不进行共享的,为了高可用彼此间需要互相隔离。

其次在响应速度方面, ES 把 JuiceFS 作为冷节点存储,冷节点存储的数据 IO 要比元数据的调用性能损耗更大,所以我们认为元数据的调用性能不是核心考虑的点。

从运维的角度来说,关系型数据库大家都比较熟,开发人员都可以很轻松的上手,其次公司是有公司有 RDS For MySQL 产品,有专业的 DBA 团队来负责运维,所以最终是选择了MySQL 作为的元数据引擎。

### 比较CephFS、CubeFS和JuiceFS分布式文件系统的特性 #### CephFS概述 CephFS是一种基于Ceph存储集群的POSIX兼容并行文件系统。其设计旨在提供高可用性和高性能,支持大规模扩展。通过RADOS对象存储实现底层数据持久化,并利用元数据服务器(MDS)管理文件路径映射到具体对象的位置信息。 - **可扩展性**:能够随着节点数量增加而线性增长性能。 - **一致性**:强一致性的读写操作保障了应用程序访问的安全可靠[^1]。 - **容错能力**:即使某些组件失败也能继续正常运作;自动恢复机制确保长时间稳定运行。 ```bash sudo apt-get install ceph-common mkdir /mnt/cephfs && mount -t ceph monip:/ /mnt/cephfs/ ``` #### CubeFS特点分析 CubeFS是一款专为企业级应用打造的对象与文件融合型分布式存储解决方案。它不仅提供了标准S3接口供云原生环境下的容器平台直接对接使用,还实现了完整的NFS/SMB协议栈以便传统业务无缝迁移至云端架构之上。 - **多租户隔离**:不同用户的资源相互独立互不影响,适合公有云服务商部署实施。 - **成本效益**:按需分配磁盘空间减少浪费现象发生的同时保持较高的IOPS表现水平。 - **安全性增强**:内置加密功能保护静态敏感资料不被窃取篡改风险威胁。 ```bash docker run --name cube-client -itd cubefs/cubefs-cli:latest cfscli config set master_addr=master_ip:port cfscli fs mount volume_name=/path/to/mountpoint ``` #### JuiceFS优势总结 JuiceFS是一个开源项目,致力于简化开发者构建高效能大数据处理管道的过程。该产品结合了本地缓存加速技术以及远程仓库备份策略,在保证低延迟响应时间的前提下兼顾长期保存需求。此外,社区活跃贡献者众多使得新特性和修复更新频繁及时。 - **简易集成**:几乎无需修改现有代码库即可快速接入各类编程语言生态体系内。 - **混合模式**:既可以从内存中获取常用热数据又能在后台异步上传冷数据至第三方服务提供商处托管。 - **跨平台支持广泛**:无论是Linux还是Windows操作系统均能得到良好适配体验。 ```bash brew tap juicefs/juicefs # macOS下安装命令 juicefs format redis://localhost:6379/1 myvolume mount -t juicefs http://accessKeyId:secretAccessKey@s3.amazonaws.com/bucket-name /mnt/jfs ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值