7.8
深览指数
科技Bestblogs·Pierre Barre··AI 生成

ZeroFS 与 Amazon S3 Files 对比

本文深度对比了 ZeroFS 和 Amazon S3 Files 两种基于对象存储的 POSIX 文件系统实现,核心差异在于是否维持文件与 S3 对象的一一映射。S3 Files 优先保证 S3 API 互操作性,但引入了异步导出延迟和高性能存储成本;ZeroFS 则放弃直接对应关系,通过 LSM 树和打包 segment 实现即时持久化、压缩加密和更低的小文件存储成本。文章提供了详细的成本模型、冷访问、fsync 和重命名行为对比,结论清晰:选择取决于该存储桶是否需要作为普通 S3 对象直接访问,还是仅作为私有文件系统的底层。适合对云存储架构、文件系统设计有深入了解需求的技术决策者。原文 ↗

核心观点
  • S3 Files 与 ZeroFS 的根本架构差异在于是否维持文件与 S3 对象的一一映射,这决定了它们的互操作性、性能、成本模型和使用场景,不存在绝对优劣,而是各有所依的权衡。
  1. 01S3 Files 维持文件与对象的一一映射,确保 S3 API 互操作性,但写入操作需经过 60 秒空闲导出周期才能通过 S3 API 可见,且小文件会产生高性能存储费用。
  2. 02ZeroFS 使用 LSM 树管理元数据,将压缩和加密后的文件数据块打包进不可变的 segment 对象,放弃了 S3 对象的一一对应关系,但实现了即时 fsync 持久性,并显著减少了 S3 对象数量和小文件存储成本。
  3. 03成本对比示例显示,在存储并读取一次 10,000 GiB 数据的场景下,S3 Files 的常驻读取成本为 3,530 美元,而 ZeroFS 在 2:1 压缩比下仅约为 230 美元,但大文件流式处理场景可能更倾向于 S3 Files。
  4. 04两者在重命名语义上存在根本差异:S3 Files 在重命名时复制对象,而 ZeroFS 原子性地更新 LSM 树条目。
  5. 05S3 Files 的持久性和 S3 可见性是两个独立的事件,而 ZeroFS 在 fsync 时提供即时的对象存储持久性。
反方 / 局限
  • 文章未提及 ZeroFS 的加密密码管理、客户端故障、以及在高并发场景下无锁 LSM 树的性能表现等潜在风险。
  • 成本分析基于一个特定示例场景,未涵盖零压缩比、随机小文件读写或高频重命名等极端工作负载,这些场景下的成本对比结论可能不同。
4 分钟 · 5 卡片 · 12 资料
读原文 →

前置背景

技术原理

平行视角

未来推演

延伸追问