大家最耳熟能详的分布式文件系统当属 HDFS,它的全称是 Hadoop Distributed File System,在 Hadoop 技术栈盛行时大放异彩。随着云计算的发展成熟,数据上云成为趋势,但由于对象存储和文件存储的结构不同,在云上要进行大数据存储时会遇到很多问题:查询性能慢、数据不能保证一致性。
今天李海博客要为大家介绍的就是一款为云环境设计的文件系统,JuiceFS 是一款云原生高性能分布式文件系统, 采用的是插件化的架构,「数据」与「元数据」分离,用户可按照场景需求选择适用的元数据以及数据引擎。使用 JuiceFS 存储数据,数据本身会被持久化在对象存储(例如,Amazon S3),相对应的元数据可以按需存储在 Redis、MySQL、TiKV、SQLite 等多种数据库中。
JuiceFS 于 2021 年 1 月在 GitHub 上开源,1年半时间已经获得 6.5 K Star,是基础领域备受关注的项目; JuiceFS 采用的是 Aache 2.0 许可证,意味着 用户可以更放心地将 JuiceFS 应用于各种商业环境,与自己的应用集成。在 AI 组件 Fluid 和 PaddlePaddle 中都可以看到 JuiceFS 的身影。
POSIX 兼容:像本地文件系统一样使用,无缝对接已有应用,无业务侵入性; HDFS 兼容:完整兼容 HDFS API[1],提供更强的元数据性能; S3 兼容:提供 S3 网关[2] 实现 S3 协议兼容的访问接口; 云原生:通过 CSI Driver[3] 轻松地在 Kubernetes 中使用 JuiceFS; 分布式设计:同一文件系统可在上千台服务器同时挂载,高性能并发读写,共享数据; 强一致性:确认的文件修改会在所有服务器上立即可见,保证强一致性; 强悍性能:毫秒级延迟,近乎无限的吞吐量(取决于对象存储规模),查看性能测试结果[4]; 数据安全:支持传输中加密(encryption in transit)和静态加密(encryption at rest),查看详情[5]; 文件锁:支持 BSD 锁(flock)和 POSIX 锁(fcntl);数据压缩:支持 LZ4 和 Zstandard 压缩算法,节省存储空间。
JuiceFS官网:https://www.juicefs.com/zh-cn/
发表评论