compare s3 compatible open-source storage
compare s3 compatible open-source storage
說到 s3 compatible storage
大家都會想到 minIO
不管是在正式環境還是測試環境 都幫助許多專案運作
然而在 2025/10/03 minIO open-source repo 進入 maintenance mode
https://github.com/minio/minio/commit/27742d469462e1561c776f88ca7a1f26816d69e2
也等同正式宣告 minIO 要轉向閉源了
雖然在早前就有跡象
但這次變更也意味著社群要正式開始尋找替代方案了
Note
cephFS 不在我的考慮範圍內, 幾個原因
- object storage 與 block storage 目標並不同, cephFS 當 object storage 太浪費了
- cephFS 複雜的部屬需求並不適合用在開發/ CICD 環境
以下嘗試用 google notebookLM 幫忙快速分析替代方案
S3 相容物件儲存詳細比較 (MinIO, RustFS, SeaweedFS, Garage)
I. 核心架構與資源效率
| 參數 | MinIO | RustFS | SeaweedFS | Garage |
|---|---|---|---|---|
| 主要語言 | Go | Rust | Go | Rust |
| 底層架構 | 對稱式分散式架構 (Distributed)。 | 單層對稱式架構 (類似 MinIO),無元數據中心。 | Master-Volume Server 架構,優化小檔案 (Haystack 模型)。 | 自包含/無外部依賴,內部實作共識機制。 |
| 資料保護 | 抹除碼 (EC),Reed-Solomon 碼。 | 抹除碼 (EC),Reed-Solomon 碼 (內聯於組譯碼)。 | 簡單複製 (Replication)。EC 可作為溫資料儲存的選項。 | 複製 (Replication),支援彈性複製係數。 |
| 儲存效率 | 高 (EC 最佳化,遠優於複製)。 | 高 (EC 最佳化)。 | 低 (複製開銷大)。 | 低 (複製開銷大)。 |
| 一致性模型 | 寫後讀/列後讀強一致性 (依賴底層檔案系統)。 | 嚴格的寫後讀一致性。 | 簡單一致性;故障時 Volume Server 可能轉為唯讀。 | 強一致性 (透過內部共識機制達成)。 |
| 資源需求 | 中等到高 (4–32 GB RAM/節點)。 | 輕量化 (單一二進位檔約 < 100 MB),高並發性。 | 低 (2–4 GB RAM/節點)。 | 極低 (1–2 GB RAM/節點)。 |
II. 性能指標與專業化
| 參數 | MinIO | RustFS | SeaweedFS | Garage |
|---|---|---|---|---|
| 大物件吞吐量 (Read/Write) | 高 (讀取 2.8 GB/s,寫入 2.1 GB/s)。 | 極高 (聲稱讀取 323 GB/s,寫入 183 GB/s)。 | 良好 (讀取 2.3 GB/s,寫入 1.8 GB/s)。 | 中等 (讀取 1.6 GB/s,寫入 1.2 GB/s)。 |
| 小物件延遲 (Small Object Latency) | 3.8ms 平均延遲。 | 宣稱比 MinIO 快 2.3 倍 (針對 4KB 物件)。 | 最低 (2.1ms 平均延遲)。 | 4.2ms 平均延遲。 |
| 優化技術 | 針對 AI/ML 工作負載優化。利用 SIMD 指令集加速 S3 Select 等複雜查詢。 | 利用 Rust 記憶體安全 和組譯碼 EC 優化,針對資料湖工作負載設計。 | 採用 Haystack 模型,實現 O(1) 磁碟讀取操作,減少尋道時間。 | 優先考慮營運穩定性與 Geo-Distribution。 |
III. S3 兼容性與進階功能
| S3 核心功能 | MinIO | RustFS | SeaweedFS | Garage |
|---|---|---|---|---|
| S3 兼容性標準 | 最廣泛、最完整,是 S3 兼容性的行業標準。 | 100% 兼容,最廣泛測試和部署的 S3 替代方案之一。 | 基本操作 (PUT/GET)。功能有顯著缺陷。 | 核心兼容,適用於 rclone、Cyberduck 等常見客戶端。 |
| S3 Select (資料湖查詢) | 支援,性能優化。 | 支援,對資料湖/分析至關重要。 | 不支援。 | 不支援。 |
| 物件版本控制 (Versioning) | 支援 (與 Object Lock 結合)。 | 支援 (用於 Active-Active 複製)。 | 不支援 (測試中造成 510 個錯誤)。 | 不支援。 |
| 物件鎖定 (WORM/Immutability) | 支援 (GOVERNANCE/COMPLIANCE 模式),符合 SEC17a-4(f) 等法規。 | 支援 (GOVERNANCE/COMPLIANCE 模式),提供法律保留功能。 | 不支援。 | 不支援。 |
| IAM 策略兼容性 | 支援 AWS IAM 策略語法和行為。 | 支援 AWS IAM 策略語法和行為。 | 支援有限。 | 支援有限。 |
| Kubernetes 整合 | MinIO Operator 處理部署與管理。 | 支援 Helm Charts。 | 支援 CSI Driver 和 Operator。 | 支援 Kubernetes/Nomad 整合。 |
IV. 授權與社群狀態 (商業考量)
| 參數 | MinIO | RustFS | SeaweedFS | Garage |
|---|---|---|---|---|
| 開源授權 | AGPLv3 (強拷貝左派,企業商業風險高)。 | Apache 2.0 (商業友好,無 IP/合規風險)。 | Apache 2.0 (商業友好)。 | AGPL-3.0 (強拷貝左派,企業商業風險高)。 |
| 社群/發布狀態 | 目前處於「維護模式」 (Maintenance Mode),不接受新功能或 PR。社群版僅原始碼發布,管理 UI 被移除。 | 活躍,但因要求貢獻者轉讓版權 (CLA) 和激進的市場宣傳,社群存在疑慮。 | 活躍,持續更新,提供單一二進位檔下載。 | 活躍,被社群譽為「磐石般堅固」 (rock solid),持續獲得公共資金支持。 |
| 定位與建議 | 適用於需要極高性能、完整 S3 兼容性的大型企業資料湖/AI/ML 工作負載,但須處理 AGPLv3 帶來的法律或商業風險。 | 適用於需要最高吞吐量、高儲存效率和 全面 S3 功能 的雲原生和資料湖環境,並尋求 MinIO 的 Apache 2.0 替代品。 | 適用於需要 極低延遲 存取大量小檔案的 CDN、圖片伺服器或日誌儲存。 | 適用於 資源受限環境、家庭實驗室 (homelab) 或邊緣部署,優先考慮部署簡單性與運營穩定性。 |
rustFS 目前來說還是 alpha 階段 不建議此時採用
且他是具有中國色彩 就算 stable 後 個人也是不建議採就用
SeaweedFS 嚴格上來說與 cephFS 有點像, 只是額外提供 S3 compatible
這樣看來 garage 算是替代 minIO 較好的選擇
因此 接下我來會著手替換手上的 minIO to garage
之後再寫篇文章介紹 garage
Last updated on