MinIO是干嘛的?

一、MinIO是干嘛的?

网上搜索"minio是干嘛的"这个问题搜索的太多了,我们感觉是我们的工作没有做好才给大家造成了这么大的信息差。在这里,我们有义务将信息差补齐。

先正面回答问题:

MinIO是一种SDS(软件定义存储)的分布式存储软件,用来进行构建独立、私有化、公有云、边缘网络的对象存储软件。 它是一个开源的软件,原来遵循的是Apache协议,在2021年4月22日修改为了AGPL v3.0协议。 如果遵守软件许可协议使用,你几乎可以免费使用它。

二、MinIO的解释好复杂,给我一个简单点的解释行吗?

很多朋友又提到了下面的问题: "你上午说了那么大一段,我根本不明白是什么意思呀?你能简单点一说一下到底是干嘛的,为什么要用MinIO吗?"

好的,我们提取一些关键词:

  1. SDS,软件定义存储
  2. 分布式存储
  3. 对象存储
  4. 私有云存储
  5. 公有云存储
  6. 边缘网络
  7. apche协议
  8. AGPL v3.0协议

我们针对上面的回答清楚后,再来理解最上面的一句话就好理解了。

三、名词解释

3.1 SDS(软件定义存储)

传统的存储设备都是有专用硬件的。但是,CPU的算力迅猛增长,算力不再是问题了。并且,也不需要再次购买专用硬件了。 基于CPU强大的算力,用软件实现和定义的分布式存储,即便宜、又安全、还省钱。 与传统硬件定义的存储价格相对可以节省成本3 - 7倍的费用。

3.2 分布式存储

传统的存储像NAS(网络附加存储)都是单节点的,如果出现网络通信故障,整个数据保障全部都会中断。因此,大家想到了一种办法:由多台服务器构建一个存储网络,任意一台存储服务器掉线都不会影响数据安全和服务的稳定。这个时候,就推出了分布式存储。

3.3 对象存储

最早的时候Google 开放了它全球 低成本存储的一篇实践论文,引起了全球的存储市场的震动。后来各家都基于Google开放的文档实现了自己的对象存储,极大的降低了自己企业的成本。其中: 亚马逊实现的对象存储叫S3; 阿里云实现了OSS(Object storage system); Google实现的对象存储叫GCS(Google cloud storage); 微软实现的对象存储叫ABS(Azure Blob Storage); 百度实现的叫BOS; 国内其他厂商,包括七牛、青云、ceph等厂家也都实现了自己的对象存储系统。

在对象存储的内部使用URL进行统一资源定位,每一个对象相当于是一个URL,这样相比于传统的文件系统存储方式,对象存储更加灵活、可扩展性更强,更适合存储海量数据。 它最最大的优点在于:节约成本的同时,实现高可扩展性,它可以轻松地增加存储容量,而无需停机维护或中断服务。 而公开对象存储标准的是S3。因此,

3.4 私有云存储、公有云存储、边缘网络

公有云:一般由大公司如阿里、腾讯、百度等公司构建的公众(个人或者公司)可以直接在上面按量或按需租赁服务器、算力、存储空间的一种云计算产品。 私有云:私有云有更好的安全性、私密性、独立性,一般是由企业自己构建的云计算池资源。 边缘网络:一般是小型物联网设备或者家庭物联网设备,如家用电视、路由器、家用存储网关、工厂存储网关、汽车存储网关等。

3.5 Apache 协议和AGPL v3.0 协议

首先,国外讲究开源和普世价值观,好的东西分享给更多的人,所以马斯克的星舰、特斯拉的全部源代码、设计图全都开源了。

但是,需要让更多的人遵守一个开源规范,于是就有了一系列的开源协议如:Apache协议、AGPL v3.0协议。

Apache协议的特点:

  1. 代码派生:Apache 协议允许对代码进行修改、衍生和扩展,并且可以将这些修改后的代码重新发布。
  2. 私有使用:Apache 协议还允许将 Apache 许可的代码用于私有目的,而不需要公开发布或共享这些代码。
  3. 版权声明:Apache 协议要求所有代码都必须包含原始版权声明和许可证。
  4. 免责声明:Apache 协议明确规定,代码作者和 Apache 软件基金会不对任何因使用该软件而引起的风险和损失负责。
  5. 专利授权:Apache 协议明确规定,如果原始代码拥有人拥有相关专利,则授予使用该代码的公司和个人适当的专利授权。 所以我们通常认为,Apache 协议是一种非常灵活和宽松的开源许可证,允许开源社区和商业公司根据自己的需求进行自由使用和分发代码。

AGPL v3.0开源协议的特点:

AGPL v3.0 协议要求在使用AGPL v3.0 许可的软件作为服务通过互联网向外提供服务时,必须公开源代码并允许其他人查看、修改和分发源代码。 这个开源协议有以下几个特点:

  1. 共享和公开源代码:AGPL v3.0 协议要求将使用该许可证的软件的源代码公开,并且所有基于该软件构建的应用程序都必须遵守该许可证的规定。
  2. 网络服务的限制:AGPL v3.0 协议适用于在网络上提供服务的软件,例如 Web 应用程序和 SaaS(Software as a Service)服务。如果使用许可证的软件被用于这些服务,那么相应的源代码必须公开。
  3. 贡献者权益保护:AGPL v3.0 协议还明确规定,任何对软件进行更改或修改的用户必须将其贡献回到原始项目中,以便其他人也可以自由地使用和修改这些更改。
  4. 版权声明:AGPL v3 协议要求在所有的副本和派生作品中包含原始版权和许可证声明。

总结,Apache开源协议更为宽松,而AGPL v3.0协议的权利义务要求更加严格一些。

四、MinIO是干嘛的?(总结)

4.1 温故而知新

上面我们解析了所有的内容,再读一次,我们的总结:

MinIO是一种SDS(软件定义存储)的分布式存储软件,用来进行构建独立、私有化、公有云、边缘网络的对象存储软件。 它是一个开源的软件,原来遵循的是Apache协议,在2021年4月22日修改为了AGPL v3.0协议。 如果遵守软件许可协议使用,你几乎可以免费使用它。

4.2 使用场景

说了一系列理论,不说使用场景就是耍(bu)流(yao)氓(lian)。

现在企业在开发的时候有一系列的要求:

  1. 不准在服务器进行本地文件写入;
  2. 要求写入必须要写入至统一对象存储中去。

这样的要求带来的好处就是: 每个人写入的时候,都写到了统一的存储数据湖中。如果有5台应用服务器需要快速扩容,可以瞬间再扩展5台服务器,构建10台服务器空间即可。所有的文件都存储于MinIO这样的对象存储中,扩容而不需要复制各台服务器中的文件。 这样就能实现业务的快速扩容啦。

你懂了吗?

相关推荐
亚林瓜子11 小时前
AWS Elastic Beanstalk部署极简Spring工程(EB CLI失败版)
spring·云计算·aws·cli·eb
Johny_Zhao14 小时前
Vmware workstation安装部署微软SCCM服务系统
网络·人工智能·python·sql·网络安全·信息安全·微软·云计算·shell·系统运维·sccm
国际云19 小时前
阿里云国际站与国内站的核心布局与本土化服务的选择
阿里云·云计算
小雨光19 小时前
阿里云ECS部署Dify
阿里云·云计算
亚林瓜子1 天前
AWS Elastic Beanstalk控制台部署Spring极简工程(LB版)
spring·云计算·aws·elb·beanstalk·alb·eb
国际云,接待1 天前
云服务器的运用自如
服务器·架构·云计算·腾讯云·量子计算
Blossom.1181 天前
使用Python实现简单的人工智能聊天机器人
开发语言·人工智能·python·低代码·数据挖掘·机器人·云计算
亚林瓜子1 天前
AWS Elastic Beanstalk控制台部署Spring极简工程
java·spring·云计算·aws·eb
小王格子1 天前
AI 编程革命:腾讯云 CodeBuddy 如何重塑开发效率?
人工智能·云计算·腾讯云·codebuddy·craft
亚林瓜子1 天前
AWS CloudTrail日志跟踪启用
云计算·aws·log·cloudtrail