对象存储对比 - Haystack

经过一段时间的调研,对分布式对象系统有了一点浅显的认识,暂不谈和文件系统的区别(其实还是有点傻傻分不清),姑且认为对象存储和文件系统最大的区别就是API,文件系统提供了完整POSIX语义,往往具有层次化的目录结构,对文件可以进行精细的操作(open, read, write, seek, delete等),相对会复杂一些。相比之下,对象存储就简单的多,对象本义是**B**inary **L**arge **OB**ject(BLOB), 是一个大的二进制文件,是作为一个整体出现,不能对其进行修改,因此对象存储系统有一个显著的特点就是Immutable,即不变性,正是因为这个特点对象存储系统一般只提供put, get, 和delete的操作,并且都是以key/val的形式,val一般是整个blob. 具体到实际的资源,主要指的是像图片,视频,文档,源码,二进制程序等这样的文件,这些文件往往都很小,一般在100k左右,视频可能会大一些,能达到几十兆甚至好几个G。

综合上面的一些特点学术界和工业界对对象存储系统也区别于文件系统做了很多优化,其中比较有名的当属10年Facebook在OSDI公开的一个分布式对象存储系统Haystack,针对其内部的业务场景(大量的小图片存储),创新的提出了一个小文件合并成大文件的方法去存储海量图片的需求,并且得到了很好的实践考研。除了facebook之外,Amazon, twitter, linkdin等知名厂商也都提出了自己的对象存储,其中Amazon的S3作为一个商业服务也取得了巨大的成功。

本文主要调研了Facebook, twitter, linkdin内部使用的对象存储系统,企图从其系统的构建初衷到设计进行一次全面的探索&#x

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值