1 对象存储的背景

  • 在较长时间中,DAS、SAN、NAS三种存储架构被广泛使用
  • DAS和SAN是基于物理块的存储方式(块存储),NAS是基于文件的存储方式
  • 随着数据量爆炸增长,非结构化数据的占比显著增加,三种架构无法有效应对

2 对象存储的历史

  • 1996年,美国卡内基梅隆大学就将对象存储作为一个研究项目提出来;随后加州大学伯克利分校也推出类似的项目
  • 2002年,Filepool公司推出了基于内容可寻址技术的Centera系统,是比较早期的对象存储系统
  • 2006年,美国Amazon公司发布AWS S3(Simple Storage Service)服务,正式将对象存储作为一项云存储服务,引入云计算领域,从此开启了对象存储的时代
  • S3几乎成为对象存储的事实标准,各厂家基本上都会兼容S3

3 对象存储中的数据组成

  • 对象存储的底层硬件介质和块存储、文件存储没有区别,而对象存储架构在底层硬件之上的系统,和两者完全不同
  • 呈现出来的是一个“桶”(bucket)
  • 可以往“桶”里面放对象(Object)
  • 对象包括三个部分:Key、Data、Metadata
  • 元数据可以有很多,在传统的文件存储里,这类信息属于文件本身,和文件一起封装存储;对象存储中,元数据是独立出来的,并不在数据内部封装
  • 元数据的好处:可以大大加快对象的排序、分类、查找

4 对象存储的架构

  • OSD对象存储设备
  • MDS元数据服务器
  • Client客户端

5 对象存储的优点

  • 容量无限大
  • 数据安全可靠
  • 使用方便

6 对象存储的缺点

  • 和工作模式有关:对象存储是把整个数据取出来修改,再放回去的模式,不支持直接在存储上修改,仅修改一个字符都不行
  • 不适合存储需要频繁擦写的数据(例如关系型数据库的数据)

7 对象存储的应用场景

  • 通常存储业务分为3个等级,即标准型、低频型、归档型
  • 标准类型:移动应用 | 大型网站 | 图片分享 | 热点音视频
  • 低频访问类型:移动设备 | 应用与企业数据备份 | 监控数据 | 网盘应用
  • 归档类型:各种长期保存的档案数据 | 医疗影像 | 影视素材

8 对象存储系统相关开源

  • 存储的方案一般分成两种:可以自定对象名称和系统自动生成对象名称的

项目名称

项目简介

Ozone

Ozone,由腾讯云大数据团队主导,Apache正式批准分布式文件对象存储Ozone从Hadoop社区孵化成功,成为独立的Apache顶级开源项目。满足了大量小文件的存储问题,解决了Hadoop分布式文件系统在可扩展性上的缺陷。作为Hadoop生态圈的一款新的对象存储系统,能够支持百亿甚至千亿级文件规模的存储

GlusterFS

GlusterFS是一个非常成熟的对象存储的方案,2011被收购,原班人马又做了另外一个存储系统MINIO

MINIO

MINIO,兼容亚马逊S3云存储服务,非常适合于存储大容量非结构化的数据

Ceph

Ceph,是加州大学Sage Weil为博士论文设计,自2007年后,Sage全职投入到Ceph开发,使其能适用于生产环境;同时支持对象存储,块存储和文件系统服务,很强大也很复杂

Swift

Swift,Rackspace开发,目的是为云提供可扩展存储

TFS

TFS ,淘宝开源,提供海量小文件存储,通常文件大小不超过1M,满足了淘宝对小文件存储的需求

SeaweedFS

SeaweedFS,是一个独立的 Apache 许可开源项目,存储数十亿级的文件,快速响应文件

Ambry

Ambry,领英开源,不能自定义名称,是一个多媒体对象存储数据库,支持存储数万亿小不可改变的对象(50K-100K)以及数十亿的大对象。专门用来存储和服务网络公司的媒体对象

MogileFS

MogileFS,领英开源,不能自定义名称,使用MogileFS 的公司较多,以大众点评为例,用户全部图片均有mogileFS存储,数据量已经达到500TB级别以上