虽然我们说对象存储是新网红 , 但实际上它诞生的时间并不算短 。早在1996年 , 美国卡内基梅隆大学就将对象存储作为一个研究项目提出来 。随后 , 加州大学伯克利分校也有推出类似的项目 。
2002年 , Filepool公司推出了基于内容可寻址技术的Centera系统 , 算是比较早期的对象存储系统 。
2006年 , 美国Amazon公司发布AWS S3(Simple Storage Service)服务 , 正式将对象存储作为一项云存储服务 , 引入云计算领域 , 从此开启了对象存储的黄金时代 。

S3几乎成为对象存储的事实标准
各厂家基本上都会兼容S3
▉ 对象存储和块存储、文件存储的区别
说了半天 , 对象存储到底是一个什么样的技术?它和块存储、文件存储有什么区别?
首先 , 第一点 , 千万不要去看百度百科上面“对象存储”的定义 , 否则 , 你可能会怀疑人生 。
想要了解对象存储 , 最简单直接的办法 , 就是从实际使用体验上进行对比 。
对象存储的底层硬件介质 , 依然是硬盘 , 和块存储、文件存储没有区别 。
而对象存储架构在底层硬件之上的系统 , 和两者完全不同 。(下文会详细介绍系统架构)
不同的软件 , 带来了完全不同的使用体验:
块存储 , 操作对象是磁盘 。存储协议是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)” 。这个对象包括三个部分:Key、Data、Metadata 。

- Key
Key是用于检索对象 , 服务器和用户不需要知道数据的物理地址 , 也能通过它找到对象 。这种方法极大地简化了数据存储 。
下面这行 , 就是一个对象的地址范例:

看上去就是一个URL网址 。如果该对象被设置为“公开” , 所有互联网用户都可以通过这个地址访问它 。
- Data
- Metadata
推荐阅读
- 混合云用户该知道的存储选型套路?
- 如何基于Ceph设计与构建一套软件定义存储系统
- 送60岁老人生日礼物 60岁生日
- 的择偶标准是什么,为什么别的手机很少装指纹解锁
- 为什么我手机没有卡还能接电话
- 为什么Iphone那么贵?
- 为什么iphone在中国买那么贵
- 苹果为什么贵?
- 为什么苹果手机没有声音了怎么办
- 手机为什么开不了机了,强制开机也没用,手机也没坏
