【从零开始学习Minio | 第一篇】快速介绍什么是Minio

前言:

在当今数字化时代,数据的存储和管理已经成为了企业发展中的关键一环。随着数据量的不断增长和数据安全性的日益受到重视,传统的数据存储解决方案往往面临着诸多挑战。为了应对这些挑战,云存储技术应运而生,并在各个领域展现出了巨大的潜力和优势。

在云存储技术中,MinIO作为一个开源的对象存储服务器,正逐渐成为了行业内的热门选择。其高度可扩展、高性能、安全可靠的特性,使其在云原生应用、大数据分析、备份和归档等场景中受到了广泛关注和应用。

目录

前言:

什么是Minio:

Minio的基础概念:

Minio在windows中的下载:

Minio的优点:

总结:


 

在之前的项目中,我们搭建了一个web版本的云盘网站,但是这个项目在存储用户文件的时候,我们只是简单的利用IO把文件保存在的本地。

【Easy云盘】_我是一盘牛肉的博客-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/fckbb/category_12611250.html?spm=1001.2014.3001.5482而在这里我们提出了一种新的优化方案:那就是基于Minio进行存储

而我们之所以不选择直接把用户文件存储在OSS这种云对象存储服务平台上,主要还是因为费用太高,而且后期不易转移。

如果在后期我们想要搭建自己的存储服务器进行存储文件,想要把所有文件数据从OSS这类平台上拉下来的时候。按照OSS的计费标准1TB大概是500元左右,而这对于云盘来讲确实是一个比较高的费用了。

所以对于中小型企业来讲,如果不选择存储上云,那么Minio是一个不错的选择,Minio除了直接作为对象存储使用,还可以作为云上对象存储服务的网关层,无缝对接到Amazon S3,MicroSoft Azure。

在中国,有很多互联网大厂都在使用Minio产品,例如阿里巴巴,百度,华为等。

什么是Minio:

MinIO 是一个开源的对象存储服务器,旨在提供高性能、可扩展、持久性的存储解决方案。它允许用户通过简单的 HTTP/REST API 来存储和检索任意类型的数据,例如图片、视频、文档等。

MinIO 设计用于大规模的数据存储和分析任务,具有以下特点:

  1. 高性能 MinIO 利用现代硬件和网络技术,提供了高速的数据传输和处理能力。其并行计算和多线程技术可以最大程度地利用系统资源,实现快速的数据存储和访问。

  2. 可扩展性 MinIO 是一个分布式存储系统,可以轻松地扩展存储容量和性能。用户可以通过添加新的存储节点来实现横向扩展,满足不断增长的数据存储需求。

  3. 持久性 MinIO 支持数据的多副本复制和分布式存储,确保数据的高可用性和持久性。即使某个节点发生故障,系统仍然可以继续提供服务,保证数据安全和可靠性。

  4. 云原生支持 MinIO 可以轻松地集成到云原生架构中,支持容器化部署和微服务架构。它与 Kubernetes、Docker 等平台完美配合,适合在云环境中构建高可用、可扩展的存储基础设施。

  5. 开源和灵活性 MinIO 是一个开源项目,拥有活跃的社区支持和持续的更新迭代。它提供了丰富的 API 和插件机制,可以轻松地与其他系统集成,满足不同场景下的需求。

总的来说,MinIO 提供了一个高性能、可扩展、持久性的对象存储解决方案,适用于各种大规模数据存储和分析任务,成为许多企业和开发者的首选存储平台。

Minio的基础概念:

在 MinIO 中,有一些重要的概念需要理解,包括对象(Object)桶(Bucket)驱动器(Drive)集合(Set)。以下是对这些概念的介绍:

  1. 对象(Object) 在 MinIO 中,对象是存储在对象存储系统中的基本数据单元。每个对象都由数据、元数据和唯一的标识符组成。对象可以是任何类型的数据,例如文件、图片、视频等。对象存储使用键(Key)来唯一标识和检索对象,而不是使用传统的文件路径。对象存储提供了高度可扩展性和持久性,适用于大规模的数据存储和分析任务。

  2. 桶(Bucket) 桶是 MinIO 中用于组织和管理对象的容器。每个桶都有一个唯一的名称,在同一个 MinIO 实例中,桶名称必须是唯一的。用户可以通过桶来对对象进行逻辑分组,例如按照项目、部门或者应用程序来创建不同的桶。桶可以设置访问权限控制,以控制谁可以访问其中的对象以及执行何种操作。

  3. 驱动器(Drive) 驱动器是 MinIO 中用于存储数据的物理设备或者存储后端。MinIO 可以将一个或多个驱动器组合成一个存储池(Storage Pool),用于存储对象数据。驱动器可以是本地硬盘、网络存储设备、云存储服务等。通过添加新的驱动器,用户可以扩展 MinIO 的存储容量和性能。

  4. 集合(Set) 集合是 MinIO 中用于管理存储策略和数据复制的概念。集合定义了一组具有相同特性或者策略的桶,例如数据的复制级别、存储类别等。用户可以通过创建集合来对一组桶进行统一的管理和配置,简化数据管理和维护操作。

综上所述,对象、桶、驱动器和集合是 MinIO 中的重要概念,理解它们可以帮助用户更好地使用和管理 MinIO 存储系统,实现高效的数据存储和管理。

Minio在windows中的下载:

首先我们要先进入minio的中文官方网站:

MinIO | 用于AI的S3 & Kubernetes原生对象存储icon-default.png?t=N7T8https://minio.org.cn/

在这里我们可以点击下载进入下载界面:

我的电脑是windows的,所以我们在这里就展示一下Windows环境下的安装和使用。

在搜索栏输入这段url,就会进行下载,等待下载完全之后,我们就会得到这样一个文件:

 

这就证明我们的minio服务已经安装成功,现在我们如果想要在电脑上启动这个服务,首先要创建一个文件夹用来存放minio的存储的各种数据,这里我们选择在同级目录下创建了一个名字叫做data的文件夹:

 

之后我们在当前窗口打开cmd窗口,输入:

minio.exe server D:\all bianyiqi\minio\data

 就可以启动该服务:

 根据指引访问地址就可以了,我们就会进入这个界面:

账号和密码都是  minioadmin 。这样我们就可以进入使用界面:

在这里我们就可以创建桶用来进行文件存储了。后续我们会讲解Spring boot集成Minio实现文件的下载等功能。

Minio的优点:

  1. 高性能 MinIO 使用了一系列优化技术,包括并行处理、分布式架构和异步 IO 等,以提供高性能的数据存储和检索。它能够在大规模数据处理和分析任务中实现低延迟和高吞吐量,满足各种性能要求。

  2. 高可用性 MinIO 支持分布式部署和数据复制,能够实现数据的冗余存储和自动故障转移。即使在单个节点或者驱动器故障的情况下,系统仍然能够保持可用性,并且对用户来说是透明的,不会影响数据的访问和操作。

  3. 弹性扩展 MinIO 的架构设计允许用户根据需要轻松地扩展存储容量和性能。用户可以添加新的节点和驱动器来扩展集群,实现无缝的水平扩展,以满足不断增长的数据需求。

  4. 灵活性 MinIO 提供了丰富的 API 和客户端工具,支持各种编程语言和应用场景。用户可以通过标准的 S3 API 访问和管理 MinIO 存储,也可以使用其他协议和工具进行集成和开发。

  5. 安全性 MinIO 支持多种安全功能,包括访问权限控制、数据加密、身份验证和认证等。用户可以根据需要对桶和对象设置访问权限,以保护数据的安全性和隐私性。

  6. 低成本 MinIO 是一个开源软件,用户可以免费获取并自由使用。它还可以运行在廉价的硬件设备上,并且具有低延迟和高效率的特点,有助于降低存储成本和运营成本。

总结:

        MinIO 提供了一种高效、可靠且灵活的解决方案,用于构建现代化的文件存储和管理系统。通过 MinIO,用户可以轻松地搭建分布式对象存储系统,实现高性能的文件存储和检索,并且可以根据需求动态扩展存储容量和性能。同时,MinIO 提供了丰富的 API 和客户端工具,支持多种编程语言和开发框架,使开发者能够更灵活地集成存储功能到他们的应用程序中。此外,MinIO 还注重安全性,提供了多种安全功能,包括数据加密、访问控制和身份验证,以保护存储在系统中的文件安全。

如果我的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3016737.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

30分钟打造属于自己的Flutter内存泄漏检测工具---FlutterLeakCanary

30分钟打造属于自己的Flutter内存泄漏检测工具 思路检测Dart 也有弱引用-----WeakReference如何执行Full GC?如何知道一个引用他的文件路径以及类名? 代码实践第一步,实现Full GC第二步,如何根据对象引用,获取出他的类…

elementUI table表格相同元素合并行----支持多列

效果图如下: vue2代码如下: 只粘贴了js方法哦, methods: {// 设置合并行 setrowspans() { const columns [‘name’, ‘value’]; // 需要合并的列名 // 为每个需要合并的列设置默认 rowspan this.tableData.forEach(row > { columns.forEach(col …

ADOP带你了解什么是UTP电缆

非屏蔽双绞线 (UTP) 电缆在错综复杂的现代连接环境中成为数据通信的无声架构师。在本次探索中,我们将阐明 UTP 电缆的定义,解开它们的组成和功能,并深入研究 UTP 以太网电缆的多种类型和应用,使其成为我们有…

Day 26 数据库日志管理

数据库日志管理 一:日志管理 1.日志分类 ​ 错误日志 :启动,停止,关闭失败报错。rpm安装日志位置 /var/log/mysqld.log ​ 通用查询日志:所有的查询都记下来 ​ 二进制日志:实现备份,增量备份…

Linux系统配置JAVA环境

一、jar包下载 官网:https://www.oracle.com/java/technologies/downloads 二、文件上传 上传到linux服务器 解压 下面是解压的路径 三、修改profile文件 修改etc下的profile文件,添加以下内容 vim /etc/profileexport JAVA_HOME/root/java/jdk-17.0.11 expo…

leetcode17. 电话号码的字母组合

题目描述: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1: 输入:digits "…

VALSE 2024 Tutorial内容总结--开放词汇视觉感知

视觉与学习青年学者研讨会(VALSE)旨在为从事计算机视觉、图像处理、模式识别与机器学习研究的中国青年学者提供一个广泛而深入的学术交流平台。该平台旨在促进国内青年学者的思想交流和学术合作,以期在相关领域做出显著的学术贡献&#xff0c…

红海云OA存在任意文件上传漏洞【附poc】

漏洞复现 1、fofa poc见文末 body"RedseaPlatform" 打开burp进行抓包发送到repeater,如下图所示: 打入poc(文末获取),成功上传。 「你即将失去如下所有学习变强机会」 学习效率低,学不到实战内…

DDR5内存新标准问世,体验前所未有的数据传输速度

DDR 5,新标准发布 JEDEC 发布了 JESD79-5C DDR5 SDRAM 标准,带来了关键更新,包括:* 增强可靠性和安全性* 优化高性能服务器和新兴技术(如 AI 和机器学习)的性能* 标准可从 JEDEC 网站下载 JESD79-5C 引入每…

Redis 入坑基本指南

引言 本指南将帮助您了解如何安装、配置和基本使用 Redis。Redis 是一款开源的高性能键值存储系统,可用于缓存、数据库、消息中间件等多种用途。 1. 安装 Redis a. 下载 Redis: 可以从 Redis 官方网站(https://redis.io)下载最…

Ansible --- playbook 脚本+inventory 主机清单

一 inventory 主机清单 Inventory支持对主机进行分组,每个组内可以定义多个主机,每个主机都可以定义在任何一个或 多个主机组内。 如果是名称类似的主机,可以使用列表的方式标识各个主机。vim /etc/ansible/hosts[webservers]192.168.10.1…

MIT加州理工等革命性KAN破记录,发现数学定理碾压DeepMind!KAN论文解读

KAN的数学原理 如果f是有界域上的多元连续函数,那么f可以被写成关于单个变量和加法二元操作的连续函数的有限组合。更具体地说,对于光滑函数f:[0, 1]ⁿ → R,有 f ( x ) f ( x 1 , … , x n ) ∑ q 1 2 n 1 Φ q ∑ p 1 n …

数据结构之链表深度讲解

小伙伴们,大家好呀,上次听我讲完顺序表想必收获不少吧,嘿嘿,这篇文章你也一样可以学到很多,系好安全带,咱们要发车了。 因为有了上一次顺序表的基础,所以这次我们直接进入正题,温馨…

从零开始的软件测试学习之旅(六)测试网络基础知识

测试网络基础知识 HTTP和HTMLURLDNS客户端和服务器请求方法和状态码面试高频Fiddler抓包工具教学弱网 HTTP和HTML 概念 html: HyperText Markup Language 超文本标记语言 http: HyperText Transfer Protocol 超文本传输协议 超文本: 图片, 音频, 视频 关系:http 可以对 html 的…

毕业就业信息|基于Springboot+vue的毕业就业信息管理系统的设计与实现(源码+数据库+文档)

毕业就业信息管理系统 目录 基于Springboot+vue的毕业就业信息管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1学生信息管理 2 公司信息管理 3公告类型管理 4公告信息管理 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设…

鸿蒙内核源码分析(任务切换篇) | 看汇编如何切换任务

在鸿蒙的内核线程就是任务,系列篇中说的任务和线程当一个东西去理解. 一般二种场景下需要切换任务上下文: 在线程环境下,从当前线程切换到目标线程,这种方式也称为软切换,能由软件控制的自主式切换.哪些情况下会出现软切换呢? 运…

优雅的实现接口统一调用!

有些时候我们在进行接口调用的时候,比如说一个 push 推送接口,有可能会涉及到不同渠道的推送。 比如做结算后端服务的,会与金蝶财务系统进行交互,那么我结算后端会涉及到多个结算单类型,如果每一个种类型的结算单都去…

Java基础教程 - 4 流程控制

更好的阅读体验:点这里 ( www.doubibiji.com ) 更好的阅读体验:点这里 ( www.doubibiji.com ) 更好的阅读体验:点这里 ( www.doubibiji.com ) 4 流程控制 4.1 分支结构…

新型中医揿针如何降血糖呢?

点击文末领取揿针的视频教程跟直播讲解 “新型针贴”专用揿针是为“埋针疗法”特制治的一种特殊针具,它是古代针刺留针方法的发展。具体来说,它是将特制针具刺入皮内,固定后留置一定时间,利用其持续微弱的刺激作用来治疗疾病的一…

JSP企业快信系统的设计与实现参考论文(论文 + 源码)

【免费】JSP企业快信系统.zip资源-CSDN文库https://download.csdn.net/download/JW_559/89277688 JSP企业快信系统的设计与实现 摘 要 计算机网络的出现到现在已经经历了翻天覆地的重大改变。因特网也从最早的供科学家交流心得的简单的文本浏览器发展成为了商务和信息的中心…