对象存储优点,技术架构,数据组成及应用场景分析(2)

2024-03-09 00:47:19
本文目录 显示

老刘博客前文《对象存储优点,技术架构,数据组成及应用场景分析(1)》主要和朋友们介绍了对象存储Object-based Storage概念和对象存储技术历史渊源,这里老刘将继续为大家分享对象存储块存储文件存储的区别对象存储中的数据组成

对象存储和块存储、文件存储的区别

对象存储到底是一个什么样的技术?它和块存储、文件存储有什么区别?

首先,第一点,千万不要去看百度百科上面“对象存储”的定义,否则,你可能会怀疑人生。想要了解对象存储,最简单直接的办法,就是从实际使用体验上进行对比。

对象存储的底层硬件介质,依然是硬盘,和块存储、文件存储没有区别。而对象存储架构在底层硬件之上的系统,和两者完全不同。(下文会详细介绍系统架构)

不同的软件,带来了完全不同的使用体验:块存储,操作对象是磁盘。存储协议是SCSI、iSCSI、FC。以 SCSI 为例,主要接口命令有 Read/Write/Read Capacity/Inquiry 等等。文件存储,操作对象是文件和文件夹。存储协议是NFS、SAMBA(SMB)、POSIX等。

以NFS(大家应该都用过“网上邻居”共享文件吧?就是那个)为例,文件相关的接口命令包括:READ/WRITE/CREATE/REMOVE/RENAME/LOOKUP/ACCESS 等等,文件夹相关的接口命令包括:MKDIR/RMDIR/READDIR 等等。

对象存储,主要操作对象是对象(Object)。存储协议是S3、Swift等。以S3为例,主要接口命令有PUT/GET/DELETE等。看出来了吧?接口命令非常简洁,没有那种目录树的概念。

在对象存储系统里,你不能直接打开/修改文件,只能先下载、修改,再上传文件。(如果大家用过百度网盘或ftp服务,一定可以秒懂。)

对象存储的存取

对象存储中的数据组成

对象存储呈现出来的是一个“桶”(bucket),你可以往“桶”里面放“对象(Object)”。这个对象包括三个部分:KeyData、Metadata。

对象存储中的数据组成

Key

可以理解文件名,是该对象的全局唯一标识符(UID)。Key是用于检索对象,服务器和用户不需要知道数据的物理地址,也能通过它找到对象。这种方法极大地简化了数据存储

下面这行,就是一个对象的地址范例:

一个对象的地址范例

看上去就是一个URL网址。如果该对象被设置为“公开”,所有互联网用户都可以通过这个地址访问它。

Data

也就是用户数据本体。这个不用解释了。

Metadata

Metadata叫做元数据,它是对象存储一个非常独特的概念。元数据有点类似数据的标签,标签的条目类型和数量是没有限制的,可以是对象的各种描述信息。

举个例子,如果对象是一张人物照片,那么元数据可以是姓名、性别、国籍、年龄、拍摄地点、拍摄时间等,元数据可以有很多。

人物照片元数据

在传统的文件存储里,这类信息属于文件本身,和文件一起封装存储。而对象存储中,元数据是独立出来的,并不在数据内部封装。元数据的好处非常明显,可以大大加快对象的排序,还有分类和查找。

以上是老刘博客总结的对象存储和块存储、文件存储的区别以及对象存储中的组成,接下来老刘将分享对象存储技术架构,对象存储优点以及应用场景内容,敬请关注老刘博客文章《对象存储优点,技术架构,数据组成及应用场景分析(3)》。