结构化/非结构化数据的介绍常用的结构化对象存储服务

一. MinIO的简介:

1.1  Minlo 介绍:

Minlo 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几 kb到最大5T不等。

MinIo是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。

官网:https://min.io/ http://www.minio.org.cn/

对象存储服务 (Obiect Storage Servie,OSS) 是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。
对于中小型企业,如果不选择存诸上云,那么 Minio 是个不错的选择,麻雀虽小,五脏俱全。当然 Minio 除了直接作为对象存储使用,还可以作为云上对象存储服务的网关层,无缝对接到 Amazon S3、MicroSoft Azure。

在中国: 阿里巴巴、腾讯、百度、中国联通、华为、中国移动等等9000多家企业也都在使用MinlO产品。

1.2  Minio优点
  1. 部署简单: 一个single二进制文件即是一切,还可支持各种平台;
  2. 支持海量存储:可按zone扩展(原zone不受任何影响),支持单个对象最大5TB;
  3. 兼容性强:兼容Amazon S3接口充分考虑开发人员的需求和体验;
  4. 低冗余且磁盘损坏高容忍:标准且最高的数据冗余系数为2(即存储一个1M的数据对象,实际占用磁盘空间为2M)。但在任意n/2块disk损坏的情况下依然可以读出数据(n为一个纠删码集合(ErasureCoding Set)中的disk数量)。并且这种损坏恢复是基于单个对象的,而不是基于整个存储卷的,读写性能优异
1.3  MinIO的基础概念


Object:存储到 Minio 的基本对象,如文件、字节流,Anything…

Bucket:用来存储 Object 的逻辑空间。每个 Bucket 之间的数据是相互隔离的(起到隔离作用)。对于客户端而言,就相当于一个存放文件的顶层文件夹。

Drive:即存储数据的磁盘,(文件上传后minIo会在自身所在的服务器的磁盘上面创建相应名称的Bucket‘目录’,并将文件存放在该相应的目录下面)在 MinIO 启动时,以参 数的方式传入。Minio 中所有的对象数据都会存储在 Drive 里。

Set :即一组 Drive 的集合,分布式部署根据集群规模自动划分一个或多个 Set ,每个 Set 中的
Drive 分布在不同位置。一个对象存储在一个 Set 上。(For example: {1…64} is divided into 4 sets each of size 16.)

总结下来即:

  • 一个对象存储在一个Set上
  • 一个集群划分为多个Set
  • 一个Set包含的Drive数量是固定的,默认由系统根据集群规模自动计算得出
  • 一个SET中的Drive尽可能分布在不同的节点上

二. S3的简介

2.1 S3 是什么
  • Amazon Simple Storage Service(简称S3),是亚马逊AWS服务在2006年第一个正式对外推出的云计算服务
  • Amazon S3 是互联网存储解决方案。该服务旨在降低开发人员进行网络规模级计算的难度。
  • Amazon S3 提供了一个简单 Web 服务接口,可用于随时在 Web 上的任何位置存储和检索任何数量的数据。此服务让所有开发人员都能访问同一个具备高扩展性、可靠性、安全性和快速价廉的数据存储基础设施, Amazon 用它来运行其全球的网站网络。此服务旨在为开发人员带来最大化的规模效益。
2.2 S3的特点
2.3  S3 的作用
  • 1.备份
  • 2.存储内容
  • 3.大数据分析
  • 4.挂载静态网站
  • 5.灾难恢复
2.4  桶 Bucket
  • Bucket就是用来存储对象(object)的一个集合

  • Bucket和Object都是资源(resources), 也就是aws能操作的一个实体(entity)
    可以容纳无限的Object

  • 默认一个账户可以创建100个bucket,这个上限是软性限制,可以通过向AWS提交case来提高上限

  • Bucket需要归属于某个Region,不是Global的。虽然S3的web console页面是Global的。

  • Bucket由附属的子资源(subresources)来定义bucket的配置

2.5  S3 命名空间(Namespace)
S3需要唯一的命名空间
  • Bucket名字必须在AWS的整个S3生态中是唯一的,而不仅仅是只在Region中唯一。
  • Bucket名字必须要全局唯一的原因就是因为Bucket名字也会是域名的一部分
区域(Region)
  • Region就是bucket实际存放的位置
  • 存放在某个Region的Object永远不会离开这个Region,除非你显式地将它传输出去
    选取Bucket的Region的时候,需要考虑延迟,费用等因素。因为建造和运营成本不同,AWS各个Region的S3费用并不相同。而一般来说,选择最近的Region,延迟就越小。
2.6  对象Object
  • S3是一个可以存储近似无限数量Object的Key-Value存储系统
  • Object包括如下元素

Key - object的名字
Value - 存储的数据,大小范围是0~5TB Version ID
当versioning功能开启后,每个Object都会拥有一个Version ID,用来区分有相同Key的不同的Object Bucket

  • Key + Version ID 三要素唯一定义了S3中的一个Object

Metadata - 用来存储Object其他相关信息的Name-value键值对 Subresources - 定义了一个Object的额外的资源
Access Control Information - 控制每个对象的访问策略

三. MinIO和S3的使用

Minio 提供对象存储服务,兼容了 AWS S3 存储协议,用于非结构化的数据存。非结构化对象,比如图像,音、视频,日志文件,备份镜像…等等管理不方便,不定长,大小变化大、类型多,云端的访问复杂,minio就是来解决这种场景的。非结构化的文件从数KB到5TB都能很好的支持。开源并且用多种开发语言,有web操作界面,我们可以用它来搭建兼容S3协议的存储云服务。

根据上面的MinIO和S3的介绍,两者均为分布式存储服务对象,那两者的区别是什么?

Minio 和 Amazon S3 是两个不同的对象存储解决方案,通常情况下它们不需要一起使用。然而,在某些情况下,Minio 可能被用作兼容 Amazon S3 的替代品。

Minio 是一个开源的对象存储服务器,它提供了 Amazon S3 兼容的 API 接口,因此可以被用作本地或私有云环境下的对象存储解决方案。因为 Minio API 与 Amazon S3 API 兼容,所以如果您希望部署一个类似 Amazon S3 的对象存储,但在本地或私有云环境下运行,那么 Minio 是一个很好的选择。

在某些情况下,您可能希望在私有云环境中使用 Minio 作为对象存储,同时与一些集成了 Amazon S3 API 的应用程序或工具进行交互。这时,Minio 可以作为 Amazon S3 的替代方案,用于与这些应用程序或工具进行集成,同时在本地或私有云环境中提供对象存储服务。

在这种情况下,Minio 和 Amazon S3 可能会同时使用,但通常情况下,它们不需要一起使用,而是作为不同的对象存储解决方案,用于不同的环境和场景。

存储策略方面,Minio 是一个开源的对象存储服务器,它允许用户在本地或私有云环境中构建存储解决方案,提供了与 Amazon S3 兼容的 API 接口。用户可以根据自己的需求来配置和管理存储策略,拥有更大的灵活性和定制性。而 Amazon S3 则是由亚马逊提供的托管式对象存储服务,用户需要按照亚马逊的存储策略和管理规定来进行使用。

在定价模型方面,Minio 作为一个基于开源软件的对象存储解决方案,通常是免费提供的。用户只需承担实际的存储和使用成本,而不需要支付额外的软件许可费用。而 Amazon S3 则按照存储的数据量、数据传输量、请求次数等因素来收取费用,费用是根据具体的使用情况以及所选择的存储类别而定的。

在选择对象存储解决方案时,应该考虑这些差异,并根据自身的需求和预算来进行评估和选择。如果您需要在本地或私有云环境中构建对象存储解决方案,并且需要更大的定制性和灵活性,那么 Minio 可能是一个更好的选择。而如果您需要一个托管式的对象存储服务,并且愿意按照具体的使用情况来支付费用,那么 Amazon S3 可能更适合您的需求。最终选择应该基于您的具体情况和优先考虑的因素,如数据安全性、可用性、成本等。

那什么又叫做对象式存储呢?

对象存储服务器是一种用于存储和管理大量非结构化数据(如文件、图片、视频、日志等)的服务器。与传统的文件存储系统不同,对象存储服务器使用一种基于键值对的存储方式,每个存储对象都有一个唯一的标识符(键)和对应的数据内容(值)。

对象存储服务器通常提供高度可扩展、高可用性和持久性的存储服务,能够支持大规模的数据存储和访问需求。

对象存储服务器的设计旨在解决传统文件系统的一些缺点,如文件系统层次结构不易扩展、文件夹和文件的层次关系较为复杂、对大型文件的管理能力较弱等。相比之下,对象存储服务器更适合于存储海量的非结构化数据,而且提供了更简单、高效的数据访问方式。

一些知名的对象存储服务器包括 Amazon S3、Microsoft Azure Blob Storage、Google Cloud Storage、MinIO 等。这些对象存储服务器通常以 API 接口的方式提供服务,使得开发人员可以方便地通过编程来管理和访问存储对象,同时通常还提供了数据备份、灾难恢复、数据加密等功能。对象存储服务器在云计算、大数据、多媒体存储等领域得到了广泛的应用。

对象存储服务器是一种用于存储和管理大量非结构化数据,那什么是非结构化数据?什么又是结构化数据呢?

结构化数据和非结构化数据是两种常见的数据类型,它们在数据存储和处理中具有不同的特点和特性。

  1. 结构化数据:
    结构化数据指的是具有固定格式和结构的数据,通常以表格形式存在,可以方便地存储在数据库中,并可以通过行和列的方式进行组织和管理。结构化数据具有明确定义的数据模式和关系,字段和值之间的关系清晰可见。典型的结构化数据包括电话号码、日期、价格、姓名等可以用标准化格式表示的数据。

  2. 非结构化数据:
    非结构化数据是指没有固定格式或结构的数据,不容易以表格形式进行组织和管理。这类数据的形式多种多样,例如文本文件、音频文件、视频文件、图像文件、电子邮件、社交媒体帖子、日志文件等。非结构化数据通常难以通过传统的数据库系统进行存储和处理,它们的特点是多变、不规则、体积大,需要专门的存储和处理技术。

要注意的是,还有一种介于结构化数据和非结构化数据之间的数据类型,叫做半结构化数据。半结构化数据具有一定的结构,但是结构不是严格意义上的表格形式,例如 XML、JSON 数据格式就属于半结构化数据。

综上所述,结构化数据和非结构化数据在数据管理和处理中有着不同的特性和处理方式,需要根据具体的数据类型选择合适的技术和工具进行存储和处理。

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

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

相关文章

详解为什么现在的 LLMs 大都是 Decoder-only 的架构

首先概述几种主要的架构: Encoder-only:以谷歌的 BERT 为代表。 Encoder-Decoder:以谷歌的 T5、Meta 的 BART 为代表。 基于自回归空白填充的通用语言模型:清华大学的 GLM。 XLNet:XLNet 在那时是一种通用的自回归预训练方法。通过最大化所有可能的因式分解排列的对数似然…

鸡数题! - 组合数学 + 第二类斯特林数

题面 分析 第二类斯特林数 将每一位1看作球&#xff0c;元素看作盒子&#xff0c;直接计算。 代码 #include <bits/stdc.h>using namespace std; using ll long long;const int N 1e5 10; const int mod 1e9 7;int fact[N], infact[N];int qmi(int a, int b, in…

一篇文章了解区分指针数组,数组指针,函数指针,链表。

最近在学习指针&#xff0c;发现指针有这许多的知识&#xff0c;其中的奥妙还很多&#xff0c;需要学习的也很多&#xff0c;今天那我就将标题中的有关指针知识&#xff0c;即指针数组&#xff0c;数组指针&#xff0c;函数指针&#xff0c;给捋清楚这些知识点&#xff0c;区分…

深度解析Go字符串

Go语言中的字符串是一种不可变的字节序列&#xff0c;它在编程中扮演着重要的角色。接下来将深入探讨Go字符串的基本概念、常见操作、性能优化&#xff0c;以及最佳实践&#xff0c;旨在帮助大家更好地理解和利用Go语言中的字符串。 1. 字符串的基本概念 1.1 字符串的表示 在…

react native错误记录

第一次运行到安卓失败 Could not find implementation class com.facebook.react.ReactRootProjectPlugin for plugin com.facebook.react.rootproject specified in jar:file:/D:/Android_Studio_Data/.gradle/caches/jars-9/o_3a1fd35320f05989063e7069031b710f/react-nativ…

[碎碎念]全篇都是碎碎念,就不要点进来了~

去年九月份入职了新公司,本准备大干一场,结果没想到十一月公司被收购,随之而来的就是裁员 被裁之后索性就不打算找工作了,给自己一年的时间,去做点自己喜欢的事情 至于做什么还没想好,至于一年之后能不能做出来什么也不知道,一切都是不确定,一切都是未知 不过也正是如此,生活才…

综合布线技术(复习)

一、 我国在20世纪80年代末期开始引入综合布线系统&#xff0c;90年代中后期得到迅速发展 综合布线系统是建筑群或建筑物内的传输网络系统&#xff0c;他能使语音和数据通信设备、交换设备和其他信息管理系统彼此相连接 综合布线系统国家标准主要有&#xff1a;GB 5031-2016…

LabVIEW智能温度直流模件自动测试系统

LabVIEW智能温度直流模件自动测试系统 自动化测试系统在提高测试效率和准确性方面发挥着越来越重要的作用。介绍了一种基于LabVIEW的智能温度直流模件&#xff08;TDCA&#xff09;自动测试系统的设计与实施&#xff0c;旨在提高测控装置的产品质量。 系统的硬件平台主要由PS…

一篇文章搞懂CNN(卷积神经网络)及其所含概念

目录 1. 什么是卷积神经网络&#xff1a;2. 应用领域&#xff1a;3. 架构&#xff1a;4. 卷积层的参数和名词参数&#xff1a;名词&#xff1a; 5. 注意&#xff1a;6. 经典网络&#xff1a;小结&#xff1a; 当下&#xff0c;计算机视觉在人工智能领域中扮演着至关重要的角色。…

unity 使用数字图片来代替数字0到9显示

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class Trackracecomplete : MonoBehaviour { /// /// 数字图片 /// [SerializeField] private Sprite[] sprites; private string _Time “23:57:49”; [Ser…

matlab使用jdbc连接数据库

1、打包jdbc 2、在matlab安装目录下&#xff0c;进去toolbox目录下&#xff0c;新建一个对应放jdbc包的文件夹&#xff0c;加入放入的是mysql的jdbc驱动包&#xff0c;就新建一个mysql目录&#xff0c;将驱动包放入mysql目录下 3、在toolbox目录下&#xff0c;找到local目录&a…

手工方式安装19.22RU

使用手工方式打RU19.22 参考文档&#xff1a; Supplemental Readme - Grid Infrastructure Release Update 12.2.0.1.x / 18c /19c (Doc ID 2246888.1) 操作步骤&#xff1a; 1 Stop the CRS managed resources running from DB homes. 2 Run the pre root script. 3 Patch G…

C语言问题汇总

指针 #include <stdio.h>int main(void){int a[4] {1,2,3,4};int *p &a1;int *p1 a1;printf("%#x,%#x",p[-1],*p1);} 以上代码中存在错误。 int *p &a1; 错误1&#xff1a;取a数组的地址&#xff0c;然后1&#xff0c;即指针跳过int [4]大小的字节…

【Golang】exec.command命令日志输出示例

背景 为了输出执行命令的日志&#xff0c;主要是执行时间很长&#xff0c;而且分批输出日志的命令。 代码 func Execute(){command : exec.Command("执行命令")// 隐藏黑色窗口command.SysProcAttr &syscall.SysProcAttr{CreationFlags: 0x08000000}// 输出日…

debian10 / deepin20.9 vim安装leaderf插件

首先&#xff0c; 自带的vim是不支持python的&#xff0c;安装vim-nox apt install vim-nox 安装python3的依赖库&#xff0c; 不安装的话&#xff0c;leaderf安装扩张会报错 sudo apt-get install build-essential python3-dev libssl-dev libffi-dev libxml2 libxml2-dev …

SQL 函数(十二)

SQL 函数&#xff08;十二&#xff09; 一、函数分类 1.1 单行函数 单行函数仅对单个行进行运算&#xff0c;并且每行返回一个结果。 常见的函数类型&#xff1a; 字符、数字、日期、转换 1.2 多行函数 多行函数能够操纵成组的行&#xff0c;每个行组给出一个结果&#x…

创新大赛专访丨南沙人才荣膺2023年度人才寻猎标杆品牌:吸纳海内外高学历人才,助力南沙精准“选苗”

日前&#xff0c;2023第三届全国人力资源创新大赛颁奖典礼暨成果展圆满举行。自2023年10月份启动以来&#xff0c;大赛共吸引了457个案例报名参赛&#xff0c;经组委会专家团队评审严格审核&#xff0c;企业赛道共有103个案例获奖、72家企业、13位个人、7个产业园斩获荣誉。 广…

Unity引擎学习笔记之【角色按键器操作】

角色按键Character Controls 一、脚本操作 设置脚本 设置基本键盘操作 //水平轴float horizontal Input.GetAxis("Horizontal");//垂直轴float vertical Input.GetAxis("Vertical");//创建方向向量Vector3 dir new Vector3(horizontal,0,vertical);/…

maven在setting配置文件中指定jdk为1.8版本

setting.xml修改如下配置&#xff1a; <profile><id>jdk-1.4</id><activation><jdk>1.4</jdk></activation><repositories><repository><id>jdk14</id><name>Repository for JDK 1.4 builds</name…

Unity根据落点和抛物线运行时间,求初始力

抛物线运行时长为2秒&#xff1a; 抛物线运行时长为4秒&#xff1a; 原理就是&#xff1a; 在竖直方向只受重力&#xff0c;做匀加速直线运动&#xff0c;水平不受力&#xff0c;做匀速直线运动。 代码&#xff1a; public void Update(){if (Input.GetKeyDown(KeyCode.Space)…