一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!
一、开源项目简介
JuiceFS 是一款高性能 POSIX 文件系统,针对云原生环境特别优化设计,在 Apache 2.0 开源协议下发布。使用 JuiceFS 存储数据,数据本身会被持久化在对象存储(例如 Amazon S3),而数据所对应的元数据可以根据场景需求被持久化在 Redis、MySQL、TiKV 等多种数据库引擎中。
JuiceFS 可以简单便捷的将海量云存储直接接入已投入生产环境的大数据、机器学习、人工智能以及各种应用平台,无需修改代码即可像使用本地存储一样高效使用海量云端存储。
使用Apache-2.0开源协议
JuiceFS 是基于 Redis 和对象存储(例如 Amazon S3)构建的开源 POSIX 文件系统,针对云本机环境进行了设计和优化。
JuiceFS 支持几乎所有主流的对象存储服务,查看详情。
JuiceFS 已经可以用于生产环境,目前有几千个节点在生产环境中使用它。我们收集汇总了一份使用者名单,记录在这里。另外 JuiceFS 还有不少与其他开源项目进行集成的合作项目,我们将其记录在这里。如果你也在使用 JuiceFS,请随时告知我们,也欢迎你向大家分享具体的使用经验。
JuiceFS 的存储格式已经稳定,会被后续发布的所有版本支持。
JuiceFS 由三个部分组成:
JuiceFS 依靠 Redis 来存储文件的元数据。Redis 是基于内存的高性能的键值数据存储,非常适合存储元数据。与此同时,所有数据将通过 JuiceFS 客户端存储到对象存储中。了解详情
任何存入 JuiceFS 的文件都会被拆分成固定大小的 "Chunk",默认的容量上限是 64 MiB。每个 Chunk 由一个或多个 "Slice" 组成,Slice 的长度不固定,取决于文件写入的方式。每个 Slice 又会被进一步拆分成固定大小的 "Block",默认为 4 MiB。最后,这些 Block 会被存储到对象存储。与此同时,JuiceFS 会将每个文件以及它的 Chunks、Slices、Blocks 等元数据信息存储在元数据引擎中。了解详情
使用 JuiceFS,文件最终会被拆分成 Chunks、Slices 和 Blocks 存储在对象存储。因此,你会发现在对象存储平台的文件浏览器中找不到存入 JuiceFS 的源文件,存储桶中只有一个 chunks 目录和一堆数字编号的目录和文件。不要惊慌,这正是 JuiceFS 高性能运作的秘诀!
创建 JuiceFS,需要以下 3 个方面的准备:
请参照 快速上手指南 立即开始使用 JuiceFS!
请点击 这里 查看所有子命令以及命令行参数。
JuiceFS 可以为 Docker、Podman 等容器化技术提供持久化存储,请查阅 文档 了解详情。
在 Kubernetes 中使用 JuiceFS 非常便捷,请查看 这个文档 了解更多信息。
JuiceFS 使用 Hadoop Java SDK 与 Hadoop 生态结合。
详细内容请查看 README.md 文档。
评论