JuiceFS 社区版 v1.3 正式发布,是自 2021 年开源以来的第四个重要版本。四年多的开源历程中,JuiceFS 在 GitHub 上已获得超 11.8K star,数据用量超过 800 PiB,并在企业的生产环境中得到了长时间的验证,核心功能逐步趋于稳定。 JuiceFS v1.3 在此基础上,重点针对一些大规模、高并发等复杂场景进行了性能与稳定性优化。该版本为长期支持版本(LTS),我们将继续维护 v1.3 和 v1.2,v1.1 将停止更新。 JuiceFS 是专为云环境设计的分布式文件系统,支持超过 10 种元数据引擎和 30 种以上的数据存储引擎,帮助企业灵活应对多样化的环境和数据存储需求。同时,JuiceFS 兼容多种访问协议,如 POSIX、HDFS、S3、WebDAV 和 Python SDK,并可作为持久卷在 Kubernetes 中使用,从而实现不同应用之间的数据自由流通。 JuiceFS 社区版采用 “Apache 2.0” 许可,允许用户根据自身需求进行二次改进,用户可以放心将 JuiceFS 应用于各种商业环境。 核心功能更新概览 1-Python SDK,AI 生态集成更便捷 在 AI 和数据科学应用中,Python 已成为最主流的编程语言。为了方便用户在这些场景中更高效地使用 JuiceFS,社区版 v1.3 中推出了 JuiceFS Python SDK。它不仅简化了对 JuiceFS 的访问方式,还提升了在受限环境下的易用性。例如在 Serverless 场景中,用户通常无法自己挂载文件系统,通过 Python SDK,无需挂载即可直接读写 JuiceFS 中的数据,极大提升了灵活性。 同时,在特定高性能场景下,相较于使用 FUSE, Python SDK 提供了更优的性能和体验。我们基于 Python SDK 实现了一个 FFRecord dataloader[1] 。在模拟训练任务的数据集测试中,1000 个样本的读取任务显示,相比默认 FUSE 挂载方式,Python SDK 在单 worker 和多 worker 场景下加载性能分别提升约 3.75 倍与 4 倍。(了解详情) 2-备份性能优化,1 亿文件备份分钟级完成 为更好地支持亿级文件规模下的备份与迁移,JuiceFS 在 v1.3 中引入了全新的二进制备份机制。相比传统 JSON 备份方式,新机制显著提升了导入导出性能,同时大幅降低了内存占用,尤其适用于大规模文件系统场景。 在一亿文件级别的测试中,二进制备份方案将导入耗时压缩至原先的 1/10 至 1/2,导出耗时也缩短至约 1/4,带来显著性能提升。(了解详情) 3-Windows 客户端可用性大幅优化 本次版本更新对 Windows 客户端整体进行了大幅优化与提升。包括:
Windows 客户端的优化将是一个长期持续的工作,在下一个版本中,我们将继续投入更多精力,进一步完善 Windows 平台,主要聚焦于兼容性提升、性能优化以及 Active Directory 域相关功能的加强。 4-支持 Apache Ranger,权限管理更精细 Apache Ranger 是一个用于 Hadoop 生态系统的集中式安全管理框架,提供了对 HDFS、Hive、HBase 等组件的细粒度权限控制。JuiceFS 社区版 v1.3 中,JuiceFS 引入了与 Apache Ranger 的集成,在大数据场景中为用户提供了更为灵活和细粒度的权限控制解决方案。该功能由多点DMALL 数据平台团队的李铭贡献。(了解详情) JuiceFS 集成 Ranger 架构 5-元数据引擎优化:SQL 能力升级,TiKV 简单事务提速 50% 元数据管理直接关系到文件系统的性能与稳定性,JuiceFS 提供对多种具备事务支持的引擎的兼容能力,包括内存 KV 类、SQL 数据库、分布式 KV 等。其中,SQL 类数据库在事务处理和一致性保障方面优于其他数据库,广泛应用于企业核心系统,是 JuiceFS 元数据存储的理想选择。然而,SQL 数据库的配置与调优较为复杂,限制了其在社区中的普及。JuiceFS v1.3 版本对 SQL 数据库支持进行了优化,提升了事务处理、并发控制、连接管理和缓存优化等性能,使其在处理十亿级文件时更加稳定高效。(了解详情) 跨网络环境,1.3 版本中单目录高并发的吞吐是 1.23 版本的 5 倍左右 CNCF 毕业项目 TiKV 是当前最受大规模用户(10 亿级文件以上)青睐的元数据引擎。近期,通过使用TiKV 点读(Point Get)模式,显著减少了客户端对 Placement Driver(PD)的访问请求,从而有效降低了请求开销与访问延迟。 在 JuiceFS v1.3 版本中,我们在简单事务路径中使用了 TiKV 的“点读”优化。基准测试显示,stat 和读取操作的性能平均提升约 50%,显著增强了 JuiceFS 在超大规模场景下使用 TiKV 的响应能力与整体效率。本次优化由阶跃星辰的缪昌新贡献。 6-重要模块优化 Sync 模块:聚焦大目录与集群稳定性
此外,JuiceFS v1.3 对多个模块进行了性能方面的优化。针对 FUSE 层,新增对 kernel readdir cache 和 symlink cache 的支持,并且过滤不必要的 xattr 请求,从而提升访问效率。在元数据处理上,优化了流式目录读取,降低了超大请求带来的内存占用,同时提升了并发处理能力与稳定性;简化了 statfs 和 mknod 等实现,整体性能显著提升;预读参数也支持自定义配置,以适配更多使用场景。在数据处理层,增强了 list 操作的性能,降低了对象存储中的读放大影响;提升了缓存系统的健壮性。 开源第五年,支撑核心 AI 场景,社区规模加速增长 过去两年,AI 领域迎来爆发式增长,早在 2019 年,JuiceFS 就已开始服务深度学习等 AI 场景,一些 AI 用户的管理规模已突破单卷千亿级别。目前,JuiceFS 在 AI 领域的应覆盖生成式 AI、AI 基础架构、自动驾驶、金融量化、生物医药等多个细分方向。过去一年,社区贡献了大量实践案例,涵盖了不同行业的 AI 场景。希望这些案例能为正在探索 AI 应用的新用户提供启发与参考。 新增案例:
查看用户案例合集 自 2021 年开源以来,JuiceFS 在 GitHub 上已收获超过 11.8k 星标,是全球开源分布式存储领域成长最快的开源项目之一(来源:OSS Insight[2])能获得这样的增长速度,离不开社区每一位成员的支持与贡献。 v1.3 新增 issue 数量 366 个,合并的 PR 数量为 696 个,贡献者人数 60人。根据用户匿名上报的数据,目前文件系统总数已突破 40,000 个,数据总量超 800PiB,从 2023年开始加速增长显著。 下图是我们对 GitHub 上提出的 issue 的回应情况。整体来看,响应时间(中位数)从 2021 年开源至今,都保持稳定,团队始终积极响应社区版的反馈。(数据来源:OSSInsight[3]) 除了在 GitHub 上提供反馈,用户还可以通过微信群进行即时沟通。目前,中文社区已建立了 10 个微信群。Slack 英文频道的用户人数较去年同期增长了 30%。此外,今年我们还在社区文档中上线了 Ask AI 功能,方便用户更高效地获取支持。 ❤️ 再次感谢社区每一位为项目提供反馈、分享使用案例、贡献代码、完善文档、热心答疑,因为你们的持续参与,推动了 JuiceFS 的快速成长。希望继续与各位社区伙伴一起,共同打造一款好产品,做好 AI 场景的坚实底座。 欢迎大家前往下载使用 JuiceFS v1.3: https://github.com/juicedata/juicefs/releases/tag/v1.3.0 引用链接
关于 Juicedata Juicedata,杭州果汁数据科技有限公司是一家企业级存储服务供应商,开发了云原生分布式文件系统 JuiceFS,致力于在大数据时代下,为企业打造安全、高性能、自主可控的存储基础设施及服务。 2021 年,JuiceFS 正式在 GitHub 上开源,已经获得 11.8K star,欢迎开发者加入我们。 (github.com/juicedata/juicefs)。 |