探秘对象存储

1 对象存储的产生

对象存储的需求

随着互联网、Web2.0的快速发展,Web应用创建出数百亿的小文件;人们上传海量的照片、视频、音乐,Facebook每天都新增数十亿条内容,人们每天发送数千亿封电子邮件。据IDC统计未来在10年间数据将增长44倍,到2020年全球数据将增加到35ZB,其中80%是非结构化数据,且大部分是非活跃数据。

面对如此庞大的数据量,仅具备PB级扩展能力的块存储(SAN)和文件存储(NAS)显得有些无能为力:通常块存储(SAN)的一个LUN容量仅数TB。单个文件系统最优性能情况下支持的文件数量通常只在百万级别。人们需要一种全新的架构的存储系统,这种存储系统需要具备极高的可扩展性,能够满足人们对存储容量TB到EB规模的扩展的需求。

对象存储的出现

2002年安然/世界通信等事件的接连爆发导致萨班斯法案推出,对象存储被用于政府法规要求数据长期保存金融服务、健康医疗等行业的数据归档场景,对象存储由此具备了备份归档的基因。
2006年Amazon发布AWS①, S3 服务及其使用的REST、SOAP访问接口成为对象存储的事实标准。Amazon S3成功为对象存储注入云服务基因。

(备注:①Amazon的主营业务是B2C电子商务,其用户流量分布不均匀,某些特定的时段(比如圣诞节),流量会急剧攀升,亚马逊在IT资源的投资非常尴尬–花大价钱购置的服务器、存储、带宽只是为了应对突发的高峰流量,而在其他大部分时间里,这些资源利用率可能都不到一半。在这种情况下,Amazon 通过AWS服务Amazon把平时闲置的IT资源出租给其他用户使用。)

2 对象存储的关键特性与价值

对象存储是一种基于对象的存储设备,具备智能、自我管理能力,通过web服务协议(如:REST、SOAP)实现对象的读写和存储资源的访问。

对象存储系统包含两种数据描述:容器(Bucket)、对象(Object)。容器和对象都有一个全局唯一的ID。对象存储采用扁平化结构管理所有数据,用户/应用通过接入码(AccessKey)认证后,只需要根据ID就可以访问容器/对象及相关的数据(Data)、元数据(metadata)和对象属性(Attribute)。


 
Figure 2-1 对象存储数据组织示意图

对象存储对外提供更抽象的对象接口,而不是SCSI或文件接口。与SAN存储以逻辑扇区为单位的较细粒度的固定IO(512B~4KB)不同,对象存储IO粒度更有弹性,支持几个字节(B)到数万亿字节(TB)范围内的任意对象大小,使得业务可根据需要灵活的分割数据。

对象存储以对象ID为基础,扁平化的管理所有对象和桶,根据对象ID便可直接访问数据,解决了NAS复杂的目录树结构在海量数据情况下的数据查找耗时长的问题,这使得对象存储具备极强的扩展性,能够轻松实现单一名字空间内支持百亿级文件的存储。

在重复数据删除,绿色节能等特性基础上,为了更好的满足海量数据存储和公众云服务需求,对象存储系统还包括如下一些关键特性:

超强的扩展性

扁平化的数据结构允许对象存储容量从TB级扩展到EB级,管理数十个到百亿个存储对象,支持从数字节(Byte)到数万亿字节(TB)范围内的任意大小对象,解决了文件系统复杂的iNode的机制带来的扩展性瓶颈,并使得对象存储无需像SAN存储那样管理数量庞大的逻辑单元号(LUN)。对象存储系统通常在一个横向扩展(或网格硬件)架构上构建一个全局的命名空间,这使得对象存储非常适用在云计算环境中使用。某些对象存储系统还可支持升级、扩容过程中业务零中断。

基于策略的自动化管理

由于云环境中的数据往往是动态、快速增长的,所以基于策略的自动化将变得非常重要。对象存储支持从应用角度基于业务需求设置对象/容器的属性(元数据)策略,如数据保护级别,保留期限,合规状况,远程复制的份数等。这使得对象存储具备云的自服务特征同时,有效的降低运维管理的成本,使得客户在存储容量从TB增长到ZB时,运维管理成本不会随之飙升。

多租户

多租户特性可以使用同一种架构,同一套系统为不同用户和应用提供存储服务,并分别为这些用户和应用设置数据保护、数据存储策略,并确保这些数据之间相互隔离。

数据完整性和安全性

对象存储系统一般通过连续后台数据扫描、数据完整性校验、自动化对象修复等技术,新型的技术应用大大提高数据的完整性和安全性。某些对象存储产品还引入了一些先进的算法(如:擦除码Erasure Code )和技术将数据切分为多个分片,然后将这些分片存储到不同的设备/站点,在确保数据的完整性的同时获取最高的存储利用率。

3 对象存储的主要应用场景

对象存储系统的出现主要是为了满足数据归档和云服务两大需求,我们对这两种场景可进行进一步的细化:

存储资源池(空间租赁)

使用对象存储构建类似Amazon S3的存储空间租赁服务,向个人、企业或应用提供按需扩展的弹性存储服务。用户向资源池运营商按需购买存储资源后,通过基于web协议访问和使用存储资源, 而无需采购和运维存储设备。多租户模型将不同的用户的数据隔离开来,确保用户的数据安全。

网盘应用

在海量存储资源池基础上,使用图形用户界面(GUI)实现对象存储资源的封装,向用户提供类似Drop Box的网盘业务。用户可通过PC客户端、手机客户端、Web页面完成数据的上传、下载、管理与分享。在网盘帮助下个人和家庭用户能够实现数据安全、持久的保存和不同终端之间的数据同步;企业客户通过网盘应用可实现更高效的信息分享、协同办公和非结构化数据管理,同时企业网盘还可用于实现低成本的Windows远程备份,确保企业数据安全。

集中备份

在大型企业或科研机构中,对象存储通过与Comvault Simpana、Symantec NBU等主流备份软件结合,可向用户提供更具成本效益、更低TCO的集中备份方案。相对原有的磁带库或虚拟磁带库等

备份方案:重复数据删除特性能够帮助用户减少低设备采购,智能管理特性使得备份系统无需即时维护,从而降低CAPEX和OPEX;分布式并行读写带来的巨大吞吐量和在线/近线的存储模式有效降低RTO和RPO。

归档和分级存储

对象存储通过与归档软件、分级存储软件结合,将在线系统中的数据无缝归档/分级存储到对象存储,释放在线系统存储资源。对象存储提供几乎可无限扩展的容量,智能管理能力,帮助用户降低海量数据归档的TCO;对象归档采用主动归档模式使得归档数据能够被按需访问,而无需长时间的等待和延迟。

4华为UDS海量存储系统

UDS海量存储系统是华为基于对运营商、互联网等行业的深刻理解,凭借深厚的技术积累和行业服务经验,通过不断创新开发出的原生支持对象存储协议的海量数据存储系统。它兼容Amazon S3对象存储协议,具备对象存储拥有的主要技术特征,致力于将企业的IT数据资源转化为客户价值。

‘EB级扩展’、‘安全可靠’、‘高效融合’是华为UDS海量存储系统的三大特色。该系统已成功进入大型运营商、知名互联网公司及世界顶尖的科研机构,经过长期稳定运行表现出卓越的读写性能和极佳的扩展性,得到客户一致好评。