MinIO与MySQL对比以及存储的相关知识

这篇具有很好参考价值的文章主要介绍了MinIO与MySQL对比以及存储的相关知识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

看了一些文章,也没有特别清晰的理解面向对象存储。我发现中文网站上并没有人去对比的写MinIO和MySQL的不同,可能大家觉得这俩根本没必要对比吧。这篇文章会对比MinIO与MySQL,能更直观的理解面向对象存储。(以下内能很多都是按自己的理解,可能有错误,如有错误,请评论区指出,感谢)
minio数据库,学习笔记,mysql,数据库,云计算
这是我在一个网站上看到的一个图。咱们就一个词一个词解释。

Cloud Storage

  1. 首先我们先区别云存储和本地存储的区别。
    本地存储就是在自己的电脑上存储,或自己搭建个服务器;云存储就是把东西放到阿里云服务器(或别的)上去。
    本地存储的缺点就是麻烦,你得买服务器、自己运维等等。而阿里云可以让你完全不用考虑这些问题,甚至监控、动态扩容全给你设计好。
  2. 把MySQL部署到阿里云上,算是云存储吗?
    不算,这叫云数据库。
    云数据库可以包括关系型数据库以及非关系型数据库,而云存储则可以包含块存储以及对象存储等(下面会说)。
    在继续的查找中,我继续查找,发现了很多“文件系统和数据库系统”的词条。查到这里我也发现我自己有一个很大的误区,我一见到存储,脑子里只有数据库。所以我不理解Cloud Storage和Database,以为Database放在阿里云上就是Cloud Storage。
    其实数据库只是一种存储数据的形式,还有别的形式,比如文件存储、块存储、对象存储。而云存储并不采用数据库,下面先解释“文件系统和数据库系统”这个词条。
  3. 文件系统和数据库系统
    首先说明文件系统和文件存储的区别:看下面“文件存储”那张图,文件存储应该包含文件系统。看了很多文章,没有人区分这个,有的人会说文件存储,有的会说文件系统,所以可以文件存储=文件系统。
    1)文件系统用操作系统中的存取方法对数据进行管理,数据库系统用DBMS(数据库管理系统)统一管理和控制数据。
    2)文件系统实现以文件为单位的数据共享,数据库系统实现以记录和字段为单位的数据共享。
    3)数据库系统是在文件系统的基础上发展而来的。(我觉得可以说,数据库系统就是文件系统)
    4)文件系统用文件将数据长期保存在外存上,数据库系统用数据库统一储存数据。
    5)文件属于自定义结构的数据存取模式,数据库属于结构化管理的数据存取模式。(非结构化数据,例如视频、图片用文件系统。结构化,需要权限控制的数据进数据库,例如合同、单据。)
  4. 文件存储、块存储、对象存储
    1)块存储,操作对象是磁盘。(因为它是二进制,如果要读它依然要靠文件系统,比如说对于你电脑上的MySQL,你要读它就需要数据库管理系统(它就是文件系统),这样才可以读到。)
    2)文件存储,操作对象是文件和文件夹,比如C:\Users\Downloads\text.doc(底层依然是磁盘,帮你建了一个文件系统,使数据以文件的方式存储和访问,按照目录结构进行组织,便于你的使用以及共享)。
    (为什么易于共享呢?相较于上面的块存储,为了读它,大家都有各自的文件系统去访问块存储就比较麻烦,像是读MySQL就要DBMS,读U盘又需要别的。而文件存储的文件系统,强调的是非本地的文件系统,类似于百度网盘,这个文件系统是在百度里的,而不是你本地,所以说文件存储易于共享)
    3)对象存储,主要操作对象是对象(对象存储的底层依然是磁盘,它是块存储和文件存储的结合,相比文件存储没有了目录结构,类似于map一样。就像MinIO拿对象,直接给个地址就能拿,也就是更快了,不用像文件存储那样文件套文件,还得一个一个找)。
    minio数据库,学习笔记,mysql,数据库,云计算
    minio数据库,学习笔记,mysql,数据库,云计算
    minio数据库,学习笔记,mysql,数据库,云计算
    minio数据库,学习笔记,mysql,数据库,云计算
    存储讲解
    存储讲解(视频)
    数据存储是非常大的内容,还是挺抽象的,只简单区分,不知道理解的对不对,不继续探索了。
  5. 数据库是哪种存储方式?
    上面也提到了,数据库应该是属于块存储。
  6. Cloud Storage比Database的优势
    1)一般云存储上存储的都是用户上传的比较零散的文件,每个文件的类型和组织的方式可以不一致,比如图片,音频,word文件之类的;而数据库中存储中的数据都由数据库进程来直接管理,包括表空间,表结构以及数据存储的方式,是有规则的。
    2)就拿图片来说,那数据库存图片不行吗?
    行。我之前还实现过,就是本地用户上传头像,我把它转成base64编码(很长很长),然后把它存在数据库里。一个最大的缺点就是数据库(MySQL)不适合存大数据,会严重影响性能。
    3)为什么?回答不了,可能比较底层了,简单理解(纯属个人理解):我原本一直不理解的东西是,图片最中都要转成一段编码,其实也就是二进制,存哪不都一样吗;不是的,数据库是为了更好的逻辑搜索,它要建表,很废空间性能,而且为了实现日志、回滚、备份什么什么吧,所以只适合小数据;像图片,因为根本不会对图片本身去改变什么,所以它就是死的,不需要日志、回滚、备份这些东西;所以一般就是数据库存图片地址,用对象存储的方式存图片。

Database

MinIO是数据库吗?
不是,结合上面所写应该也理解了,大家把他叫做“对象存储服务”。

Cloud Computing

云存储相关的功能(云服务器上的功能)依赖于云计算实现,有以下几个好处:
1)成本:本地存储你得买服务器、自己运维等等,成本不可控。而阿里云可以让你完全不用考虑这些问题,甚至监控、动态扩容全给你设计好,成本比较可控。
2)弹性:比如你的网站突然有很多人访问,你就需要加购很多服务器,而云服务器最大的特点就是按需付费,用户多了帮你扩容,少了再给你减。
3)安全:云服务器都给你设计好了,比你设计的安全多了,放心吧。
4)隐私:像是机密数据,还是自己搭吧。
云计算的讲解

Relational Databases

中文叫关系行数据库,其实就是以表格的形式。而非关系型数据库,就是非表格形式的,像是大名鼎鼎的Redis,它就是全部以Key-Value这种形式,相当于整个表就是一个Map。

总结

数据存储真的是一个非常大的内容,我记得大三时有一门选修课叫“数据存储技术”,当时这门课我感觉很难,听的云里雾里,而且基本都是理论,很难实操,很枯燥,基本做些实验也是去验证这个理论知识,测一下这个数据库的速度、缓存机制、扩容机制等等。今天这个问题把我困了这么久,可见当时掌握的非常糟糕。文章来源地址https://www.toymoban.com/news/detail-786010.html

到了这里,关于MinIO与MySQL对比以及存储的相关知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 备份StarRocks数据到对象存储minio中/外表查minio中的数据

    1.部署minio环境 宿主机与容器挂在映射 宿主机位置 容器位置 /data/minio/config /data /data/minio/data /root/.minio 拉起环境: 2.准备starrocks环境 参考docker部署starrocks 使用 Docker 部署 StarRocks @ deploy_with_docker @ StarRocks Docs 3.minio文件查询/全库备份·实操 借助python生成parquet文件  3.1 去查存在

    2024年02月10日
    浏览(30)
  • 使用minio进行文件存储

    一. Docker拉取镜像(确保自己的服务器已经安装Docker) 二. 启动一个miniio容器 账号是minio; 密码是minio123 三. 访问minio管理界面 端口 9090 或 9999 (确保在服务器放行相关端口即可访问) 点击 create a Bucket 创建一个bucket(桶), 这里的Bucket 我们可以理解为文件存储的目录 输入 bucke

    2024年02月07日
    浏览(25)
  • Minio入门系列【5】JAVA集成Minio之存储桶操作API使用详解

    官方文档:https://min.io/docs/minio/kubernetes/upstream/index.html?ref=docs-redirect SDK:https://github.com/minio/minio-java Minio 提供了多种语言的SDK,比如java、go、python等。JAVA开发平台可以选择JS和java SDK,也就是前端和后端都可以直接集成minio。 每个OSS的用户都会用到上传服务。Web端常见的上传

    2024年02月05日
    浏览(43)
  • minio分布式文件存储

    基本介绍 什么是  MinIO         MinIO 是一款基于 Go 语言的高性能、可扩展、云原生支持、操作简单、开源的分布式对象存储产品。基于 Apache License v2.0 开源协议,虽然轻量,却拥有着不错的性能。它兼容亚马逊S3云存储服务接口。可以很简单的和其他应用结合使用,例如

    2024年02月08日
    浏览(40)
  • 对象存储服务-MinIO基本集成

    MinIO 是一个 高性能的分布式对象存储服务 ,适合存储非结构化数据,如图片,音频,视频,日志等。对象文件最大可以达到5TB。 下载完毕后: 在当前minio目录下,会出现一个minio文件 然后在 /usr/local/minio/目录下,新建一个run.sh并编辑以下内容 vim run.sh,然后将以下内容保存

    2024年02月12日
    浏览(30)
  • MinIO安装配置访问以及SpringBoot整合MinIO

    详细介绍了如何在CentOS7和Windows系统上安装配置MinIO对象存储服务,并提供了SpringBoot项目与MinIO整合的步骤,帮助开发者快速实现文件的上传、下载与管理。

    2024年02月04日
    浏览(39)
  • MinIO:开源对象存储解决方案

    MinIO是一款开源的云原生对象存储解决方案,旨在提供高性能、可扩展和持久化存储服务。它兼容Amazon S3 API,可以轻松地集成到现有的应用程序中,为用户提供可靠的对象存储和数据管理。本文将介绍MinIO的基本概念、架构设计以及常见的应用场景,帮助读者了解和使用这个

    2024年02月16日
    浏览(29)
  • Docker 搭建 Minio 对象存储服务

    MinIO 是一款基于 Go 语言发开的高性能、分布式的对象存储系统,客户端支持 Java,Net,Python,Javacript,Golang语言。 MinIO 的主要目标是作为私有云对象存储的标准方案,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据、容器和虚拟机镜像等,而一

    2024年02月06日
    浏览(38)
  • 分布式文件存储MinIO-监控

    MinIO自身提供了关于集群状态和操作的相关的Prometheus SQL指标与支持Prometheus数据模型的监控指标收集工具进行搭配使用,无论是主机部署亦或是云上部署都可以进行集成。官方选定的第三方监控软件为Prometheus和InfluxDB,使用者可以根据各自公司对于监控设施的建设进行选择。

    2024年02月11日
    浏览(42)
  • 【Java笔记】对象存储服务MinIO

    1 MinIO简介 MinIO 基于Apache License v2.0开源协议的对象存储服务,可以做为云存储的解决方案用来保存海量的图片,视频,文档。由于采用 Golang 实现,服务端可以工作在Windows,Linux, OS X和FreeBSD上。配置简单,基本是复制可执行程序,单行命令可以运行起来。 MinIO兼容亚马逊S3云存

    2024年02月13日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包