【从零开始学习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://www.mzph.cn/news/833034.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++】滑动窗口:将x减到0的最小操作数

1.题目 2.算法思路 这个题目难在要转化一下才能用滑动窗口。 题意是需要在数组的前后两段区间进行解题,但同时对两段区间进行操作是比较困难的,我们可以将中间这段区间只和与nums_sum-x(数组总和-x)进行比较,这样就可…

【PCIE】基于PCIE4C的数据传输(四)——使用MSIX中断

基于PCIE4C的数据传输(三)——遗留中断与MSI中断 一文介绍了遗留中断与MSI中断两种中断方式的代码实现,本文继续基于Xilinx UltrascaleHBM VCU128开发板与linux(RHEL8.9),介绍MSIX中断方式的代码实现。本文…

PDF文档如何签名?用Adobe信任的文档签名证书

为PDF文档电子签名的方式有多种多样,但并非所有方案都是可靠的。我们在市面看到的电子图章、电子印章等仅在文档中置入印章图片的方式,并不具有任何法律上的有效性,它只是显示印章的图形效果,随时可以被篡改、伪造。PDF文档如何签…

在QEMU上运行OpenSBI+Linux+Rootfs

在QEMU上运行OpenSBILinuxRootfs 1 编译QEMU2 安装交叉编译工具3 编译OpenSBI4 编译Linux5 创建根文件系统5.1 编译busybox5.2 创建目录结构5.3 制作文件系统镜像5.3.1 创建 ext2 文件5.3.2 将目录结构拷贝进 ext2 文件5.3.3 取消挂载 6 运行OpenSBILinuxRootfs 本文所使用的版…

TitanIDE安装常见问题解答

在软件开发和编程的世界里,集成开发环境(IDE)扮演着至关重要的角色。TitanIDE作为一款功能强大的开发工具,深受广大开发者的喜爱。然而,在安装和使用TitanIDE的过程中,开发者们往往会遇到一些问题和挑战。针…

PostgreSQL连接拒绝如何解决和排查?

1. 服务器未运行 解决方案:确保 PostgreSQL 服务已启动。在 Linux 上,你可以使用如下命令来检查服务状态:sudo systemctl status postgresql如果服务未运行,使用以下命令启动它:sudo systemctl start postgresql2. Po…

设计宝典与速查手册,设计师必备资料合集

一、资料描述 本套设计资料,大小194.34M,共有13个文件。 二、资料目录 01-《商业设计宝典》.pdf 02-《色彩速查宝典》.pdf 03-《配色宝典》.pdf 04-《解读色彩情感密码》.pdf 05-《行业色彩应用宝典》.pdf 06-《构图宝典》.pdf 07-《创意宝典》…

绘唐ai工具怎么获取

这款产品的最大亮点在于其高度精准的语音克隆能力,利用先进的模型,能够捕捉到用户独特的音调、音高和调制方式,使用户能够以前所未有的方式复制和利用自己的声音。仅需10秒钟的录制时间,即可实现声音的克隆,相当便捷。…

代码随想录刷题随记30-贪心4

代码随想录刷题随记30-贪心4 860.柠檬水找零 leetcode链接 比较显然 class Solution {public boolean lemonadeChange(int[] bills) {int []accountnew int[3];for(int cur:bills){if(cur5)account[0];else if(cur10){account[0]--;if(account[0]<0)return false;account…

基于svm的手写数字识别程序介绍(matlab)

1、程序界面介绍 该程序GUI界面包括手写板、手写数字可视化&#xff08;原图&#xff09;、对图像进行灰度处理&#xff08;灰度图&#xff09;、图像二值化处理&#xff08;二值化&#xff09;、图像特征可视化&#xff08;HOG特征&#xff08;方向梯度直方图&#xff09;&…

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

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

【C 数据结构-动态内存管理】2. 边界标识法管理动态内存

文章目录 【 1. 边界标识法的结构设计 】【 2. 分配算法 】【 3. 回收算法 】3.1 空闲块两侧是占用块3.2 空闲块左侧是空闲块3.3 空闲块右侧是空闲块3.3 空闲块两侧是空闲块 边界标识法 可以解决系统中内存碎片过多而无法使用的问题。 【 1. 边界标识法的结构设计 】 使用边界…

用PowerPoint创建毛笔字书写动画

先看看下面这个毛笔字书写动画&#xff1a; 这个动画是用PowerPoint创建的。下面介绍创建过程。 1、在任何一款矢量图片编辑软件中创建一个图片&#xff0c;用文字工具输入文字内容。我用的是InkScape。排好版后将图片保存为.svg格式的矢量图片文件。 2、打开PowerPoint&…

【C++泛型编程】(二)标准模板库 STL

文章目录 标准模板库 STL容器算法迭代器仿函数/函数对象适配器分配器示例 标准模板库 STL C 的标准模板库&#xff08;Standard Template Library&#xff0c;STL&#xff09;旨在通过模板化的设计&#xff0c;提供一种通用的编程模式&#xff0c;使程序员能方便地实现和扩展各…

暴雨发布大模型专用分布式全闪存储

近日&#xff0c;暴雨信息发布为大模型专门优化的分布式全闪存储AVERSE系列。该系列依托暴雨信息自研分布式文件系统&#xff0c;搭载新一代数据加速引擎Xdata&#xff0c;通过盘控协同、GPU直访存储、全局一致性缓存等技术为AI大模型数据归集、训练、数据归档与管理等阶段提供…

看完这篇文章我奶奶都懂Opentracing了 (二)

二. 概念分析 1. Span和SpanContext 结合上述示例&#xff0c;我们从Span开始入手来进行概念分析&#xff0c;但是说在最前面&#xff0c;Span在不同的分布式链路实现中&#xff0c;其定义是不全一样的&#xff0c;尽管Opentracing已经进行了概念的统一&#xff0c;但是具体到…

1-1ARM开发环境搭建(GD32)

1:安装MDK最好是5.27以及以上版本&#xff0c;避免后续学习中出现相关错误 2&#xff1a;安装芯片支持包 双击安装即可&#xff0c;也可以是默认路径&#xff0c;也可以自己更改路径 3&#xff1a;安装jlink下载器驱动&#xff08;下载调试器&#xff09; 具体安装步骤如下所示…

一键解密,网络安全神器现已问世!

一、简介 当前版本V1.1这款工具是一款功能强大的网络安全综合工具&#xff0c;旨在为安全从业者、红蓝对抗人员和网络安全爱好者提供全面的网络安全解决方案。它集成了多种实用功能&#xff0c;包括解密、分析、扫描、溯源等&#xff0c;为用户提供了便捷的操作界面和丰富的功…

一个好用的MQTT客户端软件

软件功能如下&#xff0c;实现的协议版本是 3.1.1 仅实现了常用的 CONNECT , PUBLISH , SUBSCRIBE 及相应的应答报文。支持以 Hex 格式显示接收的原始报文&#xff08;方便初学者学习&#xff09;。支持所有字段的自定义配置。支持保存与加载配置文件。 软件界面如下所示&…

ESP32 IDF linux下开发环境搭建

文章目录 介绍升级Python环境下载Python包配置编译环境及安装Python设置环境变量 ESPIDF环境搭建下载esp-idf 代码编译等待下载烧录成功查看串口打印 介绍 esp32 官方文档给的不是特别详细 参考多方资料 最后才完成开发 主要问题在于github下载的很慢本教程适用于ubuntu deban…