首页 > 其他分享 >minio

minio

时间:2024-10-03 22:33:28浏览次数:2  
标签:存储 服务 minio 对象 开源 图片

minio

https://github.com/minio/minio

MinIO 是在 GNU Affero 通用公共许可证 v3.0 下发布的对象存储系统。它与 Amazon S3 云存储服务兼容 API。它能够处理非结构化数据,例如照片、视频、日志文件、备份和容器图像,支持的最大对象大小为 50TB。

 

https://min.io/

The MinIO Enterprise Object Store: Built for AI Data Infrastructure

The MinIO Enterprise Object Store is built for production environments where everything matters - performance, security, scale and manageability. Cloud-native by design, it is ideal for large scale AI/ML infrastructure, modern data lakes and data lakehouses and database workloads. It is software-defined and runs on any cloud - private, public, colo or edge.

https://zhuanlan.zhihu.com/p/426079235#:~:text=%E4%BB%80%E4%B9%88%E6%98%AF%E5%AF%B9%E8%B1%A1%E5%AD%98%E5%82%A8.

  • 对象存储的应用场景:

应用于各种类型的海量数据的存储。早期常见于非结构化数据

的存储,比如日志、文本、音频、视频等,也正是为了实现这些海量非结构化数据的低成本存储,才催生了对象存储这个技术;近年来随着数据湖和湖仓一体架构的流行,对象存储也被越来越多的被用于结构化数据的存储。

  • 对象存储的关键概念:

桶(Bucket)和对象(Object)

 

https://www.cnblogs.com/jetsung/p/minio-oss.html

使用 MinIO 搭建属于自己的对象存储(OSS)

 

MinIO 是在 GNU Affero 通用公共许可证 v3.0 下发布的高性能对象存储。 它是与 Amazon S3 云存储服务兼容的 API。 使用 MinIO 为机器学习、分析和应用程序数据工作负载构建高性能基础架构。

官网:https://min.io/
中文官网:http://www.minio.org.cn/
GitHub:https://github.com/minio/

 

https://cloud.tencent.com/developer/article/2278315

开源对象存储服务

开源对象存储服务是指基于开源技术,完全或部分开发源代码的、提供对象存储服务的存储系统。以下是一些常见的开源对象存储服务:

Ceph

Ceph 是一个广泛应用、高可用性、可扩展的分布式存储系统。它提供对象、块和文件三种类型的存储,支持 RESTful 和 S3 访问协议。Ceph 的优点在于高可用性、数据安全、容错能力和低成本等方面。

Ceph 作为一种免费开源的对象存储服务,获得了广泛的应用。作为具有商业经验的解决方案提供商,Red Hat 也提供了专业的 Ceph 集成和实施服务。

OpenStack Swift

Swift 是 OpenStack 的核心组成部分之一,为用户提供了对象存储服务。它支持 RESTful 协议,具有高可用性和可扩展性等特点。OpenStack Swift 产品被许多企业使用并成功应用在各种场景下,如大数据备份、金融访问数据、科学计算等。

Minio

Minio 是一个基于 Go 语言开发的分布式对象存储系统,支持 S3 协议,可以在本地环境和公有云环境中使用。Minio 具有易用性高、可扩展性好、性能优良等优点。它可以与 Kubernetes、Docker 等工具集成,支持 HDFS、GlusterFS 等其他存储后端。

非开源对象存储服务

非开源对象存储服务是指商业或私有公司提供的对象存储服务。以下是一些常见的非开源对象存储服务:

阿里云对象存储(OSS)

阿里云对象存储(OSS)是一种高度可靠、高可扩展和成本效益高的公有云对象存储服务。它具有全球唯一ID、多副本数据冗余、访问加速等优点。

阿里云 OSS 已广泛应用到像滴滴、OPPO、汽车之家、zhihu等实体公司的数据资产管理当中。

华为云对象存储服务(OBS)

华为云对象存储服务(OBS)具有高效可扩展性、安全可靠性和极低限制的对象存储。它支持 RESTful API 访问协议,提供了公有云、混合云以及总线云等部署方式,即时同步数据可访问性,可以承载大量数据存储和大容量文件。

华为云 OBS 被广泛使用于金融、电商、游戏、媒体等领域,LVMama、挖财、魅族等企业正在使用这一服务。

腾讯云对象存储(COS)

腾讯云对象存储(COS)是便宜、高效、可扩展、安全的云端对象存储服务。它拥有香港、新加坡、美国、加拿大等区域的节点,可以支持国内外多个国家和地区。用户可以通过 HTTP/WebDAV 进行接入,同时也支持 S3 协议,使用简单方便,具有良好的性能和强大的容灾能力。

腾讯 QQ 、腾讯视频、78DA等公司已经使用腾讯云对象存储服务,尤其是在线媒体数据的存储和应用场景下所需容灾能力。

 

 

网站后台关于用户上传的图片一般怎么存储?

网站后台关于用户上传的图片的存储方式,通常有以下几种:

一、直接存储在文件系统中

这是最常见和简单的方法。网站后台会为用户上传的每张图片单独创建一个文件,并将这些文件保存在服务器的指定目录中。存储路径可以通过配置文件或数据库进行管理,以便后续的访问。

  • 优点:简单直观,易于通过文件系统进行管理和备份。
  • 缺点:当图片数量较多时,可能会影响文件系统的性能和扩展性。

二、存储在数据库中

将图片转换为二进制数据,然后存储在数据库的表中。通常使用数据库的BLOB(Binary Large Object,二进制大对象)字段类型来存储这类数据。

  • 优点

    • 图片可以方便地与其他数据关联,如用户信息、文章内容等。
    • 数据库提供了数据完整性和一致性的保障。
  • 缺点

    • 可能会增加数据库的负担,影响数据库性能。
    • 数据库备份和恢复通常较为耗时,特别是当图片数量较大时。

三、使用云存储服务

随着云计算技术的发展,越来越多的网站选择将图片存储在云存储服务中。这些服务提供了可靠和高效的图片存储解决方案,免去了管理服务器和网络带宽的烦恼。

  • 优点

    • 提供了强大的存储和访问功能。
    • 具备良好的扩展性和可靠性。
    • 可以减轻服务器的负载。
  • 缺点

    • 需要考虑使用服务商的费用和QPS(Queries Per Second,每秒查询率)限制。
    • 可能存在数据安全和隐私保护的问题,需要选择可靠的服务商并关注其隐私政策。

四、结合多种存储方式

在实际应用中,网站可能会根据实际需求结合多种存储方式。例如,将常用的图片存储在文件系统中以便快速访问,而将重要的或需要长期保存的图片存储在云存储服务中以确保数据的安全性和可靠性。

五、存储路径的管理

无论选择哪种存储方式,都需要对图片的存储路径进行管理。这通常涉及到以下几个方面:

  • 路径的生成:确保每个图片都有一个唯一的路径,以避免冲突。
  • 路径的存储:可以将路径存储在数据库中,以便在需要时快速检索。
  • 路径的访问控制:确保只有授权的用户或系统才能访问特定的图片路径。

综上所述,网站后台关于用户上传的图片的存储方式有多种,每种方式都有其适用的场景和优缺点。在选择存储方式时,需要根据实际需求进行权衡和选择。

 

标签:存储,服务,minio,对象,开源,图片
From: https://www.cnblogs.com/lightsong/p/18446089

相关文章

  • Minio在docker中部署
    定义与概述Minio是一个基于对象存储的开源项目,它与传统的文件存储系统不同,主要用于存储海量的非结构化数据,如图片、视频、文档等。它兼容亚马逊S3云存储服务的API,这意味着如果应用程序是基于S3API开发的存储功能,那么可以很容易地将其迁移到Minio上。功能特点高......
  • 使用 Vue3、TypeScript 和 Spring Boot 实现文件上传至 MinIO 和 OSS
    目录《使用Vue3、TypeScript和SpringBoot实现文件上传至MinIO和OSS》一、技术选型二、环境搭建三、前端实现四、后端实现五、代码解析在现代web应用开发中,文件上传是一个常见的需求。本文将介绍如何使用Vue3、TypeScript和SpringBoot实现文件上传功能,并......
  • 006.MinIO基础使用
    006.MinIO基础使用 目录图形界面使用bucketAccesskeys配置权限MonitoringTieringSiteReplication客户端使用mc客户端安装bucketobjectPolicyUserGroupsconfig集群管理curl工具使用 回到顶部图形界面使用bucketbucket创建图形界面创建b......
  • Minio生命周期规则及桶初始化
    packageorg.ailun;importio.minio.*;importio.minio.messages.*;importjava.util.List;/***@version1.0*@since:JDK11*/publicclassTest{privatestaticStringbucketName="bucketName";publicstaticvoidmain(String[......
  • Spring Boot+MinIO实战:掌握分片上传、秒传与断点续传,让文件管理更高效!
    在现代应用中,随着文件大小的不断增大和网络环境的复杂化,传统的文件上传方式已难以满足用户需求。通过将SpringBoot与MinIO集成,可以轻松实现文件的分片上传、秒传和续传功能,为用户提供更流畅的上传体验。分片上传分片上传是将大文件拆分成多个小块分别上传,避免单次上传大文件带......
  • 实战教程:Minio与etcd本地部署 + Milvus本地数据库配置(亲测成功)
    一.minio本地部署1.获取安装包wgethttps://dl.minio.io/server/minio/release/linux-amd64/miniowgethttps://dl.min.io/client/mc/release/linux-amd64/mcchmod+xminiochmod+xmc#命令移到系统路径直接调用命令cpminio/use/local/bincpmc/use/local/......
  • 关于Java使用MinIO文件服务器操作文件
    Java使用Minio上传文件示例代码1.Minio介绍MinIO是一个基于ApacheLicensev3.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5......
  • Linux+Docker:3分钟实现MinIO在线部署与Java集成
    Linux下使用Docker安装MinIO1.拉取MinIO镜像dockerpullminio/minio2.创建挂载目录mkdir-p/opt/minio/datamkdir-p/optl/minio/config3.检查端口占用sudolsof-i:9000...4.启动MinIO容器dockerrun--nameminio\#容器名称-p9010:9000......
  • chainlit s3 minio 存储集成配置
    chainlits3默认对于minio的支持没有明确说明,但是我们可以通过配置解决(环境变量以及~/.aws/config都可以)使用代码配置importchainlitasclimportchainlit.dataascl_datafromchainlit.data.sql_alchemyimportSQLAlchemyDataLayerfromchainlit.typesimportThreadDic......
  • minio分布式集群部署(三)
    一、优势分布式Minio可以让你将多块硬盘(甚至在不同的机器上)组成一个对象存储服务。由于硬盘分布在不同的节点上,分布式Minio避免了单点故障。分布式存储可靠性常用方法 分布式存储,很关键的点在于数据的可靠性,即保证数据的完整,不丢失,不损坏。只有在可靠性实现的前提下,才......