对象存储学习 | 青训营笔记

190 阅读3分钟

这是我参与「第五届青训营」伴学笔记创作活动的第 12 天,今天对对象存储的概念以及存储的结构进行了简单的学习。

数据存储方式分类

单机存储: 文件系统、Key-Value存储

单机数据库: 关系型数据库、非关系型数据库

分布式数据库: 关系型数据库、非关系型数据库

分布式存储: 分布式文件系统、对象存储

存储备选海量支持适用数据类型
单机存储不支持单机文件/KV
单机数据库不支持少量结构化数据
分布式数据库支持大量结构化数据
分布式存储支持视频/图片等

对象存储概念

什么是对象存储: 对象存储,也称为面向对象存储(Object-based Storage),是用来描述解决和处理离散单元的方法,这些离散单元被称作为对象。

对象存储的优点:

1、海量:支持大于EB的海量存储,对象的数量无限制

2、易用:使用Restful HTTP接口,开发简单;使用云原生技术;图片视频生态丰富

3、便宜:使用普通X86服务器;具有冷热数据分级存储能力,成本低

对象存储的结构

对象存储结构由 对象、对象存储设备、元数据服务器、客户端 四部分组成

对象(Object)

对象是系统中数据存储的基本单位,一个对象实际上就是文件的数据和一组属性信息的组合,每个对象是数据和数据属性集的综合体,数据属性可以根据应用的需求进行设置,包括数据分布、服务质量等。

image.png

对象存储设备(Object-Based Disk)

每个OSD都是一个智能设备,具有自己的存储介质、处理器、内存以及网络系统等,负责管理本地的Object,是对象存储系统的核心。OSD同块设备的不同不在于存储介质,而在于两者提供的访问接口。OSD的主要功能包括数据存储和安全访问。目前国际上通常采用刀片式结构实现对象存储设备。

OBD的主要功能有三个:数据存储、智能分布、对对象元数据进行管理

元数据服务器(Metadata Server)

MDS主要控制Client与OSD对象的交互,为客户端提供元数据,主要是文件的逻辑视图,包括文件与目录的组织关系、每个文件所对应的OSD等。主要提供对象存储访问以及文件目录访问管理

客户端(Client)

为了有效支持访问OSD上的对象,需要在计算节点实现对象存储系统的Client。

对象存储的适用场景

图片、视频、文本、安装包、备份

一些对象存储平台

一些大厂的对象存储平台: 华为云OBS,阿里云OSS,腾讯云COS,百度BOS,网易NOS

一些开源的对象存储平台: MinIO,LakeFS,Ceph,OpenIO