枫林 发表于:13年08月27日 00:42 [原创] DOIT.com.cn
对象存储,也许对你来说,可能很了解,或者只是一个陌生的概念。但是,不管怎么样,对象存储和作为网络存储的一种,已经走到每个人的身边。当你在Facebook上查看一张照片,就用到了Facebook Haystack对象存储,淘宝打开一个商品页面的时候也使用到了淘宝对象存储TFS。另外,亚马逊的存储云S3和OpenStack的Swift都是对象存储的实现。对象存储作为存储实现的一种技术,它的优势在哪里,应用环境又是什么样的。本文以EMC的Atmos产品为例,带领读者走近对象存储。
对象用来存储什么内容?在了解对象存储,先要谈一下两种数据的类型:结构化和非结构化数据。结构化数据通常就是指能在关系数据库系统中存储的数据,即可以用二维表的结构来逻辑表达的数据。反之,非结构化数据指得是那些没有特定的数据结构和模式来决定它如何存储的数据,这些数据并不适合直接用关系数据库系统来存储。例如文本文档,图片,音乐,视频文件,博客文档等等。所谓对象存储技术的出现,主要的目的就是用来优化非结构化数据的存储。
对象和传统的文件的区别是什么?可以说,最大的区别是,在对象中,可以存储更多的元数据,虽然有些文件系统也支持扩展元数据,但是这些数据通常很少会被应用程序用到。而作为对象存储系统,这种元数据的存储会被放置在一个特定的区域,而不是文件中,从而可以被更好访问和搜索。下图显示了同样两个图片,使用文件和对象存储的区别。
对象存储的概念是由SNIA在1999年提出的,然后再2002年左右出现一些商用产品,EMC Centera作为一个内容寻址存储(Content Addressed Storage)归档系统也是其中之一。2009年EMC又发布了基于云存储的平台Atmos。作为对象的信息存储,对象存储系统会对每个文件增加了丰富的元数据,从而克服了许多文件系统的限制。基于对象存储系统通常可以在一个系统中轻易存储数十亿的对象而不需要额外文件系统和存储管理的支持,这是普通的网络存储NAS所不能比拟的。
EMC Atmos简介:
EMC Atmos结合CAS和NAS的特点,再其基础上添加更加丰富基于云端优化的对象分类支持以及分布式的内容寻址,Atmos也可以叫做基于云端优化的存储系统(Cloud-Optimized Storage)。Atmos可以以软件和硬件集成的两种形式进行部署。下图中左侧为硬件集成的部署方式,这种交付方式中,Atmos系统中包含运算节点,连接网络的交换机和存储数据的磁盘柜。右侧是以软件的方式部署,Atmos软件安装在运行vSphere的VMware的ESX服务器上,后端连接传统的存储系统,这种部署的好处可以利用现有的硬件实现。
Atmos的数据访问主要是通过Atmos Object API来实现,支持多类型的数据访问模式。基于Web的SOAP和REST,基于文件的CIFS、NFS、Installable File System(IFS),以及针对内容寻址CAS的API方式。
下图显示了一个典型的对象写入过程全过程,这里需要提一点的是在Atmos写入的过程中,文件的元数据基于Atmos中定义的策略决定数据是如何存储,和存储在哪里(针对分布式模式),且系统策略还会根据数据的复制模式(同步和异步)选择对于前端确认的方式。OID本身的组织结构,也会定义对象存储位置,以便Atmos可以更快的定位数据。在典型的Web访问的情况下,Atmos中的前端服务,充当了一个标准的文件访问结构,使得用户端的浏览器可以直接从Atmos从获取数据而不需要再通过Web服务器来定位。
Atmos解决方案主要可以应用在以下几个方面:
•Web应用:基于Web 2.0分布式存储,用作电子照片,多媒体的影像文件等等。
•非结构化的数据存储(网盘):基于网络的数据随时随地的访问解决方案。
•归档和备份:Atmos基于系统策略、只需要少量的监控和维护,支持自动复制,自动删除等功能,为数据的归档和备份提供解决方案。关键是,数据存放在Atmos作为备份和归档的数据还是随时提供用户访问。
•基于云计算的IaaS:提供多租户,自助服务,资源管理,自动配置的存储平台。
本文作者为EMC中文技术社区(https://community.emc.com/go/chinese)技术版主。