【分布式技术专题】「OSS中间件系列」Minio的文件服务的存储模型及整合Java客户端访问的实战指南 (3)

开源对象存储软件以MinIO,Ceph为典型代表。为帮助相关人员在选择对象存储系统之时选择合适的产品,此处对二者的特点、特性做一定讨论。

MinIO优势 部署极其简单

MinIO系统的服务程序仅有minio一个可执行文件,基本不依赖其它共享库或者rpm/apt包。minio的配置项很少(大部分都是内核之类系统级的设置),甚至不配置也可以正常运行起来。百度、google、bing等搜索引擎上基本没有关于MinIO部署问题的网页,可见在实践中,很少有使用者遇到这方面的问题。

相比之下,Ceph系统的模块,相关的rpm、apt包众多,配置项非常多,难以部署,难调优。某些Linux发行版的Ceph安装包甚至有bug,需要使用者手动改动Ceph的python脚本,才能安装完毕。

二次开发容易

MinIO对象存储系统除了极少数代码使用汇编实现以外,全部使用Golang语言实现。Ceph系统是使用业界闻名的难学难用的c++语言编写的。Golang语言由于产生较晚,吸收了很多语言尤其是c++的教训,语言特性比较现代化。

相对而言,MinIO系统的维护、二次开发比较容易。

网管模式支持多种其他存储

通过网关模式,MinIO对象存储后端,可以对接各种现有的常见其它存储类型,比如的NAS系统,微软Azure Blob 存储、Google 云存储、HDFS、阿里巴巴OSS、亚马逊S3等,非常有利于企业复用现有资源,有利于企业低成本(硬件成本约等于零,部署MinIO对象存储软件即可)地从现有系统平滑升级到对象存储。

Ceph优势

数据冗余策略更加丰富,Ceph同时支持副本、纠删码,而MinIO只支持纠删码。对于个别的对于数据可靠性要求极高的单位,Ceph对象存储更加合适。

参考硬件

MinIO是符合软件定义存储SDS理念的,兼容主流X86服务器以及ARM/飞腾平台,同时也可以移植到诸如申威(Alpha架构)和龙芯(Mips架构)等硬件平台。

下面这些符合工业标准的、广泛采用的服务器是经过MinIO inc.优化测试过的、MinIO对象存储软件表现优异的服务器:

【分布式技术专题】「OSS中间件系列」Minio的文件服务的存储模型及整合Java客户端访问的实战指南

结论

由以上讨论,可见作为对象存储软件来说,MinIO, Ceph都非常优秀,各自有各自的优势。准备使用对象存储软件的用户,应该根据自己单位的需求、技术储备等实际情况,选择适当的软件。

参考资料

https://hao123.blog.csdn.net/article/details/109065199?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-1.opensearchhbase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-1.opensearchhbase

https://github.com/krishnasrinivas/wikinotes/wiki/minio-scaling

https://docs.aws.amazon.com/zh_cn/AmazonS3/latest/dev/Welcome.html

Klaus Post官网:https://klauspost.com/

https://github.com/klauspost/reedsolomon

https://developer.ibm.com/articles/cl-cloudstorage/

https://github.com/minio/dsync

https://github.com/minio/minio/blob/master/cmd/xl-sets.go

https://min.io/resources/docs/MinIO-throughput-benchmarks-on-NVMe-SSD.pdf

https://github.com/minio/minio/blob/master/cmd/admin-heal-ops.go

https://github.com/klauspost/reedsolomon/blob/master/options.go

https://github.com/minio/dsync

https://min.io/resources/docs/CPG-MinIO-implementation-guide.pdf

https://github.com/minio/minio/issues/7986

https://docs.min.io/docs/minio-bucket-notification-guide.html

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzswyw.html