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级别以上 |