【从零开始学习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 还注重安全性,提供了多种安全功能,包括数据加密、访问控制和身份验证,以保护存储在系统中的文件安全。

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

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

VMware下Ubuntu的安装教程

文章目录 一、Ubuntu如何下载1.下载官方地址https://ubuntu.com/2.点选Ubuntu服务器版本3.点击下载Ubuntu服务器版本iso镜像二、VMware安装Ubuntu服务器系统1.创建虚拟机2.选择下载好的Ubuntu服务器镜像3.创建安装完成三、Ubuntu Server如何设置1.Ubuntu Server没有中文所以全都…

Skywalking数据持久化与自定义链路追踪

学习本篇文章之前首先要了解一下Sky walking的基础知识 分布式链路追踪工具Skywalking详解 一,Sky walking数据持久化 Sky walking提供了es,MySQL等数据持久化方案,默认使用h2基于内存的数据库,重启之后数据即会丢失。 在实际工…

asp.net成绩查询系统

说明文档 运行前附加数据库.mdf(或sql生成数据库) 主要技术: 基于asp.net架构和sql server数据库 功能模块: asp.net成绩查询系统 学生功能有查看成绩和修改账号密码等 后台管理员可以进行用户管理 管理员添加管理员查询注…

element-plus el-time-picker 时间段选择(可多选)

实现一个如图的时间段选择器 处理好时间回显逻辑&#xff0c;组件内[‘’,‘’],后端数据[{startTime:‘’,endTime:‘’}]处理好加和减的显示逻辑 <template><div><div v-for"(item, index) in currentChoose" :key"index" class"fl…

[Java EE] 多线程(九):ReentrantLock,Semaphore,CountDownLatch与线程安全的集合类(多线程完结)

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏:&#x1f355; Collection与数据结构 (91平均质量分)https://blog.csdn.net/2301_80050796/category_12621348.html?spm1001.2014.3001.5482 &#x1f9c0;Java …

C++之类与对象

1、类声明 2、共有、私有、保护成员。&#xff08;就比如说你一个变量是private的&#xff0c;然后在main函数中&#xff0c;就调用不了&#xff0c;只能在这个类.cpp中调用&#xff09; 3、数据抽象和封装 4、内联函数 内存体积会增大&#xff0c;以空间换时间&#xff1a;编…

php使用服务器端和客户端加密狗环境部署及使用记录(服务器端windows环境下部署、linux环境宝塔面板部署、客户端部署加密狗)

php使用服务器端和客户端加密狗环境部署及使用记录 ViKey加密狗环境部署1.windows环境下部署开发文档验证代码提示Fatal error: Class COM not found in 2.linux环境下部署&#xff08;宝塔面板&#xff09;开发文档验证代码提示Fatal error: Uncaught Error: Call to undefine…

【软测学习笔记】Python入门Day02

&#x1f31f;博主主页&#xff1a;我是一只海绵派大星 &#x1f4da;专栏分类&#xff1a;软件测试笔记 &#x1f4da;参考教程&#xff1a;黑马教程❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ python安装 1、进入Python的官方下载页面&#xff1a; Download Python | Py…

Java+SpringBoot+JSP实现在线心理评测与咨询系统

前言介绍 随着互联网技术的高速发展&#xff0c;人们生活的各方面都受到互联网技术的影响。现在人们可以通过互联网技术就能实现不出家门就可以通过网络进行系统管理&#xff0c;交易等&#xff0c;而且过程简单、快捷。同样的&#xff0c;在人们的工作生活中&#xff0c;也就…

用PowerPoint创建毛笔字书写动画

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

RTT潘多拉开发板上实现电源管理

简介 随着物联网(IoT)的兴起&#xff0c;产品对功耗的需求越来越强烈。作为数据采集的传感器节点通常需要在电池供电时长期工作&#xff0c;而作为联网的SOC也需要有快速的响应功能和较低的功耗。 在产品开发的起始阶段&#xff0c;首先考虑是尽快完成产品的功能开发。在产品…

C++变量的作用域与存储类型

一 变量的作用域和存储类型 1 变量的作用域(Scope) 指在源程序中定义变量的位置及其能被读写访问的范围分为局部变量(Local Variable)和全局变量(Global Variable) 1&#xff09;局部变量(Local Variable) 在语句块内定义的变量 形参也是局部变量 特点&#xff1a; 生存期是…

web 基础之 HTTP 请求

web 基础 网上冲浪 就是在互联网(internet)上获取各种信息&#xff0c;进行工作&#xff0c;或者娱乐&#xff0c;他的英文表示surfing the Internet&#xff0c;因 “surfing”d的意思是冲浪&#xff0c;即成为网上冲浪&#xff0c;这是一种形象说法&#xff0c; 也是一个非…

交易复盘-20240507

仅用于记录当天的市场情况&#xff0c;用于统计交易策略的适用情况&#xff0c;以便程序回测 短线核心&#xff1a;不参与任何级别的调整&#xff0c;采用龙空龙模式 一支股票 10%的时候可以操作&#xff0c; 90%的时间适合空仓等待 蔚蓝生物 (5)|[9:25]|[36187万]|4.86 百合花…

SpringBootWeb入门

SpringBoot可以帮助我们快速的构建应用程序、简化开发、提高效率 创建SpringBoot工程&#xff0c;并勾选web开发相关依赖 定义HelloController类&#xff0c;添加方法&#xff0c;并添加注解 运行测试 创建SpringBoot工程(联网下载) 在File里面点击new Module 点击next 修…

Linux\_c输出

第一条Linux_c输出 初界面 : ls # 显示目录下的文件cd # 进入到某个目录 # 比如 我进入了Codels # 发现没有显示, 说明为文件下为空vim cpucdoe.c # 创建一个 .c的源码文件进入到了vim的编辑界面: i # 按i 就可以进行编辑 , 下面显示插入标识在编辑模式下, 可以通…

计算图:深度学习中的链式求导与反向传播引擎

在深度学习的世界中&#xff0c;计算图扮演着至关重要的角色。它不仅是数学计算的图形化表示&#xff0c;更是链式求导与反向传播算法的核心。本文将深入探讨计算图的基本概念、与链式求导的紧密关系及其在反向传播中的应用&#xff0c;旨在为读者提供一个全面而深入的理解。 计…

练习项目后端代码解析切面篇(Aspect)

前言 之前注解篇时我说&#xff0c;通常情况下一个自定义注解一般对应一个切面&#xff0c;虽然项目里的切面和注解个数相同&#xff0c;但是好像有一个名字看起来并不对应&#xff0c;无所谓&#xff0c;先看了再说。 ExceptionLogAspect切面 我在里面做了具体注释&#x…

使用Simulink Test进行单元测试

本文摘要&#xff1a;主要介绍如何利用Simulink Test工具箱&#xff0c;对模型进行单元测试。内容包括&#xff0c;如何创建Test Harness模型&#xff0c;如何自动生成excel格式的测试用例模板来创建测试用例&#xff0c;如何手动填写excel格式的测试用例模板来手动创建测试用例…

Golang Map类型

文章目录 Map介绍Map的定义方式Map的增删查改新增和修改Map元素查找Map元素删除Map元素遍历Map元素 Map元素排序Map切片 Map介绍 Map介绍 在Go中&#xff0c;map是哈希表的引用&#xff0c;是一种key-value数据结构。map类型写作map[K]V&#xff0c;其中K和V分别对应key和value…