ceph rgw vs minio vs swift




个人观点,能力有限,仅供参考

结论

  1. Ceph显然是云原生标准存储组件,其他两个都有很多功能缺失,比如不支持块和文件存储,这会导致一套云环境要部署多套存储系统
  2. MinIO只支持EC纠删码,不支持副本存储模式,性能和可靠性会有损耗
  3. MinIO扩容不方便,不适合规模多变的生产环境
  4. 从非功能方面比较,Ceph也是最佳选择
  5. 从我们内部使用情况来看,Ceph已经使用多年,有成熟的运维经验,也有很强的二次开发能力,其他两个都没有使用经验,更没有开发经验

功能对比

功能 ceph minio swift 备注
S3接口 Y Y Y 都是常用接口,高级接口一般都不支持
私有接口 Y N Y ceph同时支持swift接口
多语言SDK Y Y Y S3 SDK支持多种语言
bucket name跨账号同名 N N Y  
命令行工具 Y Y Y  
支持的操作系统 超多 minio支持windows、mac,其他两个基本都是Linux发行版
硬件绑定情况 不需要特定硬件
数据加密 Y Y Y  
多副本 Y N Y  
EC Y Y Y  
快照 Y? N N ceph支持pool级别快照
故障域 Y Y Y 副本域或EC分片域
多租户支持 Y Y? Y minio多用户ok,多租户需要单独部署server
LDAP Y Y Y  
bucket ACL Y Y Y  
multisite Y Y Y 跨区灾备
数据压缩 Y Y N swift官方不支持,但可以自己开发插件
NFS导出/NAS Y Y N? swift官方不支持,猜测可以通过NFS-Ganesha配合S3 api实现?
配额 Y N Y minio支持限制租户使用的磁盘数量
块存储 Y N N  
文件存储 Y N N  
dashboard Y Y Y? swift需要使用OpenStack horizon作为dashboard
监控告警 Y Y Y ceph、minio支持prometheus,swift支持statsd,也有第三方的prometheus exporter
分块上传 Y Y Y  
最大对象大小 单次上传5G(可配置),分片上传最多10000个 单次5TB,分片最多10000,每片最大5G 单次上传5G(可配置),分片上传最多1000个(可配置)  
最大元数据大小 512KB 8KB 4KB(可配置)  
静态站点托管 Y Y Y ceph需要通过代理服务实现(比如nginx、haproxy)
bucket lifecycle Y Y Y  
bucket policy Y Y Y  
临时url Y Y Y  
object versioning Y N? Y minio看起来还在开发这个功能
Bitrot Protection Y Y Y  
WORM

(一写多读)

N Y N  
bucket notification N Y N  
object tags Y Y Y  
第三方备份 N Y N  
元数据搜索 Y N Y  

 

非功能对比

  ceph minio swift 备注
稳定性  
数据一致性 强一致 强一致 最终一致 minio数据落盘不是direct?
集群可扩展性 minio不支持存储池级别扩容
数据可靠性 中高  
性能 未实际测试,但估计相差不大
运维便利性 后2者未实际使用,网上查询比较简单
可维护性 后2者没有使用经验
可订制化 极高 后2者没有二次开发经验
云原生适配能力 极高 ceph已经是云原生标配开源存储组件,OpenStack也推荐使用,swift在OpenStack的IaaS平台上只能用来保存镜像,minio几乎没有在云环境的使用案例
企业使用情况 普遍 极少 一般 国内几乎所有SDS存储厂商都是基于Ceph在做,几乎没有基于swift的,minio更没有听说过;另外国内大厂也都有ceph使用场景(中国移动、腾讯、阿里、网易、乐视、携程、今日头条、中国电信、中兴、恒丰银行、平安科技、YY、B站、360等),使用OpenStack的企业很多,相信其中也有部分公司用到swift,minio几乎没听说过
商业版本 Y Y Y 同上
开源社区活跃度 极高 minio几乎就几个人在做
软件业内顶级公司参与度 普遍 极少 一般 同上
文档完善度  
开发运维人员招聘难度 适中 稍高  
开源协议 LGPL-2.1 or LGPL-3 Apache License 2.0 Apache License 2.0  
项目发起时间 2008.01 2015.06 2010.07 以第一个版本发布时间为准
版本发布频率 每年1个大版本,小版本比较频繁 7天 6个月一个大版本,小版本比较频繁  
CI自动化程度及覆盖率 非常完善 未知 非常完善  
项目贡献参与难度(学习曲线) 中? ceph整体代码量及复杂度都很高