MinIO:开源对象存储解决方案的领先者
MinIO:开源对象存储解决方案的领先者
MinIO 是一款开源的对象存储系统,致力于提供高性能、可伸缩、安全的数据存储解决方案。
官方解释:MinIO 是一个基于Apache License v2。0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。
MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。
本文将介绍 MinIO 的背景、用途、优势、与其他存储解决方案进行对比和安装使用。
背景
MinIO 的发展背景与云计算、大数据、多媒体存储以及云原生应用程序的快速增长密切相关。传统的文件系统和关系型数据库已无法满足不断膨胀的数据需求。MinIO 在这一背景下崭露头角,于2014年由Anand Babu Periasamy创建,成为对象存储的先锋之一。MinIO 是一个自由开放源码的项目,由广大开发者社区不断推动,以提供灵活、可靠、高性能的对象存储。
用途
无论是构建云原生应用程序、存储多媒体文件、支持数据分析,还是作为数据湖的一部分,MinIO 都提供了可靠的存储解决方案。
- 多媒体存储:MinIO 可用于存储大规模的图片、视频、音频和其他多媒体文件。其高性能和低延迟的特点使其成为媒体内容存储的理想选择。许多多媒体应用程序和网站使用MinIO来提供快速且可伸缩的存储解决方案。
- 备份和归档:MinIO 提供数据冗余和保护机制,适用于存储备份数据、历史数据和归档数据。这确保了数据的可靠性和长期保存,符合合规性和安全性要求。
- 数据湖:MinIO 作为数据湖存储层的一部分,用于存储原始和结构化数据,以供后续分析和挖掘。它支持各种数据类型和格式,使数据湖的构建更加灵活和高效。
- 数据仓库:MinIO 可以与数据仓库集成,作为数据存储层,支持快速数据检索和分析操作。这使数据仓库可以更好地处理和分析大规模数据。
- 分布式存储:MinIO 具有分布式架构,可以在多个节点上运行,提供高可用性和可伸缩性。这使其成为处理大规模数据存储需求的理想解决方案,尤其是在需要水平扩展时。
- 云原生应用程序:MinIO 可作为云原生应用程序的后端存储,适用于微服务架构和容器化应用程序。它提供了高性能和可伸缩性,支持现代云原生开发。
- 开发和测试环境:MinIO 用于构建开发和测试环境,模拟对象存储,进行应用程序开发和测试。这有助于开发人员模拟真实的对象存储环境,以确保应用程序在生产环境中顺利运行。
优势
MinIO作为一个对象存储系统,在很多方面都具有显著的优势,尤其适合需要构建自己的私有对象存储解决方案或在云环境中使用Amazon S3 API的应用程序。以下是MinIO的主要优势:
- 高性能:MinIO 提供卓越的性能,具有快速存储和检索大规模数据对象的能力。其并发读写和低延迟访问使其成为处理多媒体和大规模数据集的理想选择。MinIO号称是目前速度最快的对象存储服务器。在标准硬件上,对象存储的读/写速度最高可以高达183 GB/s和171 GB/s。对象存储可以作为主存储层,用来处理Spark、Presto、TensorFlow、H2O。ai等各种复杂工作负载以及成为Hadoop HDFS的替代品。
- S3兼容性:MinIO提供了与Amazon S3 API完全兼容的接口,这意味着它可以无缝与AWS S3应用程序和工具集成。亚马逊云的 S3 API(接口协议) 是在全球范围内达到共识的对象存储的协议,是全世界内大家都认可的标准。MinIO 在很早的时候就采用了 S3 兼容协议,并且MinIO 是第一个支持 S3 Select 的产品。开发者可以直接使用支持Amazon S3的工具、库和应用程序无缝迁移到MinIO,或者使用它们进行互操作。
- 开源和自由:MinIO 基于Apache V2 license 100% 开放源代码 。这就意味着 MinIO的用户能够自动的、无限制、自由免费使用和集成MinIO、自由的创新和创造、 自由的去修改、自由的再次发行新的版本和软件。这降低了总体拥有成本,使其成为个人、小型企业和大型组织的理想选择。
-
轻量级和易于部署:MinIO是一个轻量级的对象存储系统,容易部署和管理。MinIO简单特性减少了出错的机会,节约了安装部署的时间,提供了可靠性,同时简单性又是性能的基础。MinIO升级是通过一个简单命令完成的,这个命令可以无中断的完成MinIO的升级工作,并且不需要停机即可完成升级操作,大大降低总使用和运维成本。您可以在本地数据中心、云环境或容器化平台上运行MinIO。MinIO提供了与k8s、etcd、docker等主流容器化技术深度集成方案。
与其他存储解决方案的对比
安装成功后,浏览器登录访问http://127.0.0.1:9000
如果浏览器出现如下界面,表示安装成功。然后使用默认登录名和密码 均为 minioadmin。为了安全考虑后期可再去修改。
-
Amazon S3:MinIO 提供了类似S3的API,与AWS S3兼容,但不需要云供应商锁定,可在私有云或混合云环境中使用。与S3相比,MinIO更加灵活,可自托管,降低了存储成本。
-
Hadoop HDFS:HDFS 是分布式文件系统,用于大数据存储和处理,MinIO 是对象存储系统,更适合多媒体存储、备份和归档以及与云原生应用程序集成。MinIO在性能、多用途性和S3兼容性方面具有优势。
-
Ceph:Ceph 是另一个开源的对象存储系统,MinIO 与Ceph相比更加轻量级、易于部署和维护,适用于小型和中型组织。
安装使用
MinIO作为一款基于Golang 编程语言开发的一款高性能的分布式式存储方案的开源项目,有十分完善的官方文档。目前MinIO支持市面主流的开发语言并且可以通过SDK快速集成快速集成使用。详细使用可参考官方文档。
官网文档地址:https://docs.min.io/cn/
Minio Cookbook中文版地址(书栈网):https://www.bookstack.cn/read/MinioCookbookZH/
MinIO服务安装后,可以直接通过浏览器登录系统,完成文件夹、文件的管理。非常方便使用。
-
Linux下安装MinIO
# 下载安装包 wget https://dl.min.io/server/minio/release/linux-amd64/minio# 运行命令chmod +x minio #启动 ./minio server /usr/software/minio/data # 后台进程启动nohup ./minio server /usr/software/minio/data > /usr/software/minio/minio.log 2>&1 &
Widows下安装MinIO
直接安装启动
下载安装包
下载地址:https://dl.minio.io/server/minio/release/windows-amd64/minio.exe
管理员身份启用cmd窗口,然后定位到minio.exe文件夹执行如下命令:
.\minio.exe server D:\file\minio
说明:D:\file\minio 为存储文件的目录
2、后台服务安装
- 下载地址:https://github.com/winsw/winsw/releases
- 将WinSW.exe复制到自己指定的目录,重命名为minio-server.exe
- 同目录下创建minio-server.xml。特别注意,xml和exe必须同名
- 然后配置minio-server.xml文件,内容如下:
<service> <id>minio-server</id> <name>minio-server</name> <description>minio文件存储服务/description> <!-- 可设置环境变量 --> <env name="HOME" value="%BASE%"/> <executable>%BASE%\minio.exe</executable> <arguments>server "%BASE%\data"</arguments> <!-- <logmode>rotate</logmode> --> <logpath>%BASE%\logs</logpath> <log mode="roll-by-size-time"> <sizeThreshold>10240</sizeThreshold> <pattern>yyyyMMdd</pattern> <autoRollAtTime>00:00:00</autoRollAtTime> <zipOlderThanNumDays>5</zipOlderThanNumDays> <zipDateFormat>yyyyMMdd</zipDateFormat> </log></service>
- 使用cmd命令 minio-server.exe install 安装服务
- 安装完后,去服务中启动服务。启动成功就可以正常使用minio啦
- 可以使用 minio-server.exe uninstall 来卸载服务
相关文章:

MinIO:开源对象存储解决方案的领先者
MinIO:开源对象存储解决方案的领先者 MinIO 是一款开源的对象存储系统,致力于提供高性能、可伸缩、安全的数据存储解决方案。 官方解释:MinIO 是一个基于Apache License v2。0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适…...

15、电科院FTU检测标准学习笔记-基本性能
作者简介: 本人从事电力系统多年,岗位包含研发,测试,工程等,具有丰富的经验 在配电自动化验收测试以及电科院测试中,本人全程参与,积累了不少现场的经验 ———————————————————…...

古建筑倾斜在线监测系统:科技守护历史的创新实践
在文化遗产保护的广阔领域中,古建筑的健康监测占据着举足轻重的地位。然而,传统的监测方法往往受限于布线复杂、安装难度大以及对古建筑本体可能造成的伤害等问题。近年来,一种新型的古建筑倾斜在线监测系统应运而生,它…...

DP(2) | Java | LeetCode 62, 63, 343, 96 做题总结(96 未完)
62.不同路径 我的代码(报错) 写的过程中感到很迷惑的点:①二维数组和这道题目的对应弄不清除,m n的初始化 是 dp[m][n] 还是 dp[n][m] ② class Solution {public int uniquePaths(int m, int n) {int[][]dp new int[m1][n1];d…...
Ubuntu实战续篇:Apache httpd轻松搭建高效代理服务器
Ubuntu实战续篇:Apache httpd轻松搭建高效代理服务器 一、前言二、Ubuntu下的Apache配置文件概览三、配置并启用 Apache 代理服务 作者:高玉涵 时间:2024.7.11 21:06 博客:blog.csdn.net/cg_i 环境:Ubuntu 22.04.4 LTS…...

Linux 程序卡死的特殊处理
一、前言 Linux环境。 我们在日常编写的程序中,可能会出现一些细节问题,导致程序卡死,即程序没法正常运行,界面卡住,也不会闪退... 当这种问题出现在客户现场,那就是大问题了。。。 当我们暂时还无法排…...
(C++字符串02) 反转字符串中的单词
151、反转字符串中的单词 先将字符串的里的多余空格去掉,时间复杂度:O(n),再将字符串整体反转,时间复杂度:O(n),最后反转每一个单词,时间复杂度:O(n); class Solution { public:string reverseWords(stri…...

一致性Hash问题及解决方案
Hash算法的应用场景 请求的负载均衡 Nginx的ip_hash策略可以在客户端ip不发生变化的情况下,将其发出的请求始终路由到同一个目标服务器上,实现会话粘滞,避免处理session共享问题。 如果没有ip_hash策略,可以通过维护一张映射表的…...

【接口设计】如何设计统一 RESTful 风格的数据接口
如何设计统一 RESTful 风格的数据接口 1.版本控制1.1 通过 URL1.2 通过自定义请求头1.3 通过 Accept 标头 2.过滤信息3.确定 HTTP 的方法4.确定 HTTP 的返回状态5.定义统一返回的格式 近年来,随着移动互联网的发展,各种类型的客户端层出不穷。如果不统一…...

【备战秋招】——算法题目训练和总结day3
【备战秋招】——算法题目训练和总结day3😎 前言🙌BC149简写单词题解思路分析代码分享: dd爱框框题解思路分析代码分享: 除2!题解思路分析代码分享: 总结撒花💞 😎博客昵称ÿ…...

Git 操作总结
1. 安装、Git 环境配置 1.1 安装 Git 官方版本可以在 Git 官方网站下载:打开 https://git-scm.com/download/win,选择相应版本即可。 Git 安装完成后,可以在开始菜单中看到 Git 的三个启动图标(Git Bash、Git CMD、Git GUI&…...

若依 ruoyi-vue SpringBoot highlight-textarea 输入框敏感词关键词高亮标红(二)
参考文章,非常感谢大佬的分享 实现可高亮的输入框 — HighlightTextarea GitHub:highlight-textarea 可看作者上一篇文章 若依 ruoyi-vue SpringBoot聊天敏感词过滤sensitive-word(一) 效果图 审核时,输入框高亮敏感词ÿ…...

33 IRF配置思路
IRF配置思路网络括谱图 主 Ten-GigabitEthernet 1/0/49 Ten-GigabitEthernet 1/0/50 Ten-GigabitEthernet 1/0/51 备 Ten-GigabitEthernet 2/0/49 Ten-GigabitEthernet 2/0/50 Ten-GigabitEthernet 2/0/51 思路 主 1 利用console线进入设备的命令行页面去更改…...

Dify中的RAG和知识库
一.RAG 基本架构 当用户提问 “美国总统是谁?” 时,系统并不是将问题直接交给大模型来回答,而是先将用户问题在知识库中进行向量搜索,通过语义相似度匹配的方式查询到相关的内容(拜登是美国现任第46届总统…࿰…...

vue3 + i18n 中英文切换
第一步:安装vue-i18n npm install vue-i18n 第二步:配置语言包及js文件 目录如下: 英文语言包 en.js // lang/en.js - 英文语言包 export default {menu: { 库房管理: Warehouse Management,入库检测: Incoming Inspection, 设…...
one-hot-zhu案例
# 导入用于对象保存与加载的joblib # from sklearn.externals import joblib import joblib # 导入keras中的词汇映射器Tokenizer from keras.preprocessing.text import Tokenizer def one_hot_01(): # 1 准备语料 vocabs # vocabs {“周杰伦”, “陈奕迅”, “王力宏”, “…...

数据库课设---酒店管理系统(MySQL、VBNet)
目录 一. 知识技术 二. 需求分析 2.1 功能需求 2.2 数据需求 三. 数据流图与数据字典 3.1 数据流图 3.1.1 业务流图 3.1.2 数据流图 3.1.3 关系图 3.2 数据字典 四. 数据库设计 4.1 概念模型设计 4.2 逻辑模型设计 4.3 数据库实现 …...

NLP入门——前馈词袋分类模型的搭建、训练与预测
模型的搭建 线性层 >>> import torch >>> from torch import nn >>> class DBG(nn.Module): ... def forward(self,x): ... print(x.size()) ... return x ... >>> tmod nn.Sequential(nn.Linear(3,4),DB…...

GD32F303RET6读取SGM58031电压值
1、SGM58031芯片详解 (1)SGM58031是一款低功耗,16位精度,delta-sigma (ΔΣ)模数转换器(ADC)。它从3V到5.5V供电。 (2)SGM58031包含一个片上参考和振荡器。它有一个I2C兼容接口,可以选择四个I2…...
Pandas实战指南:any()函数深度解析与高效应用
Pandas实战指南:any()函数深度解析与高效应用 引言 在数据分析和处理过程中,经常需要快速检查数据集中是否存在满足特定条件的元素。Pandas库中的any()函数正是这样一个强大的工具,它可以帮助我们沿着指定的轴检查是否至少有一个元素满足某…...

wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...

超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...

Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...

【Linux】自动化构建-Make/Makefile
前言 上文我们讲到了Linux中的编译器gcc/g 【Linux】编译器gcc/g及其库的详细介绍-CSDN博客 本来我们将一个对于编译来说很重要的工具:make/makfile 1.背景 在一个工程中源文件不计其数,其按类型、功能、模块分别放在若干个目录中,mak…...
git: early EOF
macOS报错: Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...