对象存储架构所解决的文件遍历问题

在处理庞大的数据集合时,你一定不想要耗费大量系统资源来检索所有的文件才查找得到你想要的信息。对象存储,与其特有的识别符,很大程度上简化了这个过程。

在对象存储体系架构的最底层,所有的数据仍以块存储的形式加以存放。对象存储作为块存储的上层,包含了数据(即包含所存储信息详细描述的元数据)以及独有的识别符,将其封装成为特定的对象。由于对象存储的逻辑结构位于块存储之上,它与下层的硬件层无关,于是便可使用任何x86处理器、内存、磁盘驱动器以及固态闪存,而不需要专属硬件来支持特定的对象存储。事实上,绝大多数对象存储都运行在消费级的产品上,或使用白壳机配合硬件与固态闪存。

一个对象存储体系架构通常包含了海量的元数据。常见的元数据包括安全策略,即诸如控制对象访问权限以及对象加密与否的信息、数据保护政策或管理策略。

对象并不会像文件存储或NAS中的文件那样用索引来组织;相反,它们只需存储在非等级寻址空内(Fat Address Space)。对象的定位与操作经由其独特的识别符与元数据完成。这与传统的数据块存储截然不同,在块存储中,数据被放置在系统中实际物理存储的位置,或者文件位置可以通过集中化的文件目录重新指向。

对象存储更适合于大型的数据集合

对象存储体系架构中的非等级寻址空间使其较传统的NAS或SAN 存储系统更适合大型数据的存储。NAS系统中单一文件的检索会涉及到一次详细搜索——通常被称为文件遍历(File Crawl)——完整的索引才能找出某个文件。该过程消耗了文件系统的大量资源,会影响到所有的读写操作,而且系统耗费的时间会随着文件系统的扩展而显著提升。随着系统存取需求提高以及文件数量的增大,文件索引的方式会在某个时刻到达瓶颈。

对象存储的检索明显会来得更快,因为其只会搜索唯一识别符和元数据。由于不需要遍历整个文件系统或索引,对象存储的扩展性更强,对性能的影响则更低。

绝大多数的对象体系架构在标准的RESTful应用程序接口之外都有相应的文件接口,例如NFS、SMB以及Hadoop分布式文件系统(HDFS)。这使得对象存储可以像NAS那样读写数据,同时保持自身的优势。HDFS接口使得对象存储成为Hadoop方案中更具成本效益的体系架构。

对象存储的上述差异性使其更为以下多种应用环境中更具成本效率的方案,包括了:

冷热数据的归档

检索

分析

备份

合规文档

社交媒体

文件分享

云存储

用简单构想一下就能理解为什么对象存储会成为大部分云存储供应商的首选数据存储模式,包括Amazon的Web Services、Google、IBM的SoftLayer、Microsoft的Azure和其它许多服务商。

对象存储提升了数据保护等级

对象存储中的海量元数据与非等级存储池结构使其成为纠错码的理想选择。纠错码需要相当多的元数据,但其比传统RAID方式来防护磁盘或硬件故障更加经济且更具弹性。纠错码将数据松散地分解存储在一系列对象中,称之为数据宽度(Width)。阅读取回数据只需要找到数据宽度的一个子集,称之为数据广度(Breadth)。当数据广度可以被读取到时就代表着元数据可以被访问到,这时便无需获取到整个数据宽度来得到完整的数据。

假如不能阅读到所有的对象说明在读取过程中发生了错误。数据本身并不受影响。这时会重新创建新的对象来替代那些读取失败或无法找回的部分。在占用冗余存储量角度看,纠错码比RAID或镜像复制更有效率。

随之多处硬件并发故障的情况日益增多,所需的保护等级也逐渐提升。这里举一个例子,假如数据需要足够的容错性来防止6个硬件同时出错的情况,用多镜像复制的方式需要7倍的复制量,即占用额外600%的冗余存储空间;RAID压根无法提供7位的奇偶校验,你最多只能选择RAID 6来实现三重校验并对整个RAID进行镜像复制。这种配置方式需要大致2.5倍的复制量,即占用额外150%的冗余空间。此外,这还会大幅降低存储性能,尤其在发生重构的时候。对象存储体系架构用纠错码的方式,20位的数据广度占用26位的数据宽度,或者要性能更好的话,用16位的数据宽度代表10位的数据广度,这会占用额外30%~60%的存储空间,即1.3到1.6倍的冗余量。在达到同样硬件保护级别上这是巨大的成本差异。

本文转自d1net(转载)

时间: 2025-01-26 17:53:38

对象存储架构所解决的文件遍历问题的相关文章

干到底--三种存储类型比较-文件、块、对象存储

http://limu713.blog.163.com/blog/static/15086904201222024847744/ http://www.dostor.com/article/2012-12-27/7887715.shtml   块存储和文件存储是我们比较熟悉的两种主流的存储类型,而对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备(Object-based Storage Device)简称OSD.        

数据中心存储架构

存储系统是数据中心IT环境的核心基础架构,是数据中心数据访问的最终承载体.存储在云计算.虚拟化.大数据等相关技术进入后已经发生了巨大的改变,块存储.文件存储.对象存储支撑起多种数据类型的读取;集中式存储已经不再是数据中心的主流存储架构,海量数据的存储访问,需要扩展性.伸缩性极强的分布式存储架构来实现. 在新的IT发展过程中,数据中心建设已经进入云计算时代,企业IT存储环境已经不能简单的从一般性业务运营需求来构建云计算的数据中心存储环境.云计算数据中心的建设不是为了满足某一个业务系统的特殊目标,是

对象存储的兴起

在本文中,作者斯科特·辛克莱尔将为广大读者诸君分析对象存储存在于当今的数字化市场的必要性,同时,还将为您重点介绍Cleversafe公司的解决方案.斯科特·辛克莱尔撰写了关于对象存储的理想使用案例,并介绍了购买这种技术时需要考虑的相关要素.他认为,Cleversafe公司的对象存储解决了归档/内容存储库.归档合规性.内容分发.数据湖/hub枢纽.备份目标.协同和企业内部部署云的使用案例等一系列问题.最终得出的结论是,对象存储为"数据的保护和规模化提供了一个相当卓越的方法",建议客户保持

2016首届对象存储技术及应用大会在京成功召开

2016年11月16日,由中国新一代IT产业推进联盟指导.奥思数据和CIO时代网主办的2016首届对象存储技术及应用大会暨奥思数据OStorage-EOS产品发布会在北京丽亭华苑酒店拉开帷幕.本次大会作为对象存储领域开创性的行业大会吸引了国际专家.各大行业用户.科研院所及存储软件研发厂商代表共200多人出席. 中国科学院院士 中国科技大学软件学院院长 陈国良 大会由企事录创始人张广彬主持,中国科学院院士.中国科技大学软件学院院长陈国良首先发表致辞,他谈到计算机原理的分几大块:运算器.控制器.存储

盘点对象存储九大关键点

 有评论表示,对象存储是一个相对新的市场部分,目前继续稳步增长,并有更多值得采用的理由. 对于不了解的人来说,对象存储用于保存大量的非结构化数据,其中每个"对象"本质上是没有特定格式的文件(也称为二进制文件).对象存储可以保存任何类型的数据,从人类可读的小对象文件到媒体(音频和视频)或其他行业特定的格式(石油和天然气,医学成像等). 与传统存储相比,使用对象存储的好处是多方面的.基于块的系统(例如光纤通道和iSCSI)不能很好地向外扩展,并且对存储的数据没有真正的理解.它们是以低延迟和

大话存储系列13——对象存储

1. 对象存储系统(Object-Based Storage System)是综合了NAS和SAN的优点,同时具有SAN的高速直接访问和NAS的数据共享等优势,提供了高可靠性.跨平台性以及安全的数据共享的存储体系结构. 传统块存储与对象存储结构对比示意图: 对象存储系统组成 对象(Object) 包含了文件数据以及相关的属性信息,可以进行自我管理 OSD(Object-based Storage Device) 一个智能设备,是Object的集合 文件系统 文件系统运行在客户端上,将应用程序的文

HCP:利用对象存储压缩存储成本

以DAS.SAN和NAS为主的存储架构在过去很长一个时期里都是数据中心中存储主要的存在形式,但是随着大数据时代的到来,非结构化数据逐渐成为企业存储系统中的重要组成部分,办公文档.文本.图片.标准通用标记语言下的子集XML.HTML.各类报表.图像和音频/视频信息等等都是非结构化数据的范畴,即便是发展非常成熟的SAN和NAS仍不能很好的应对非结构化数据带来的需求,可以说对象存储就是在这样一个背景下发展起来的. 对象存储架构的核心是将数据通路(数据读或写)和控制通路(元数据)分离,并且基于对象存储设

Hadoop分布式文件系统和OpenStack对象存储有何不同?

最近在Quora上有人提到一个问题,有关Hadoop分布式文件系统和OpenStack对象存储的不同. 问题原文如下: "HDFS (Hadoop分布式文件系统)和OpenStack对象存储(OpenStack Object Storage)似乎都有着相似的目的:实现冗余.快速.联网的存储.什么样的技术特性让这两种系统因而不一样?这两种存储系统最终趋于融合是否大有意义?" 问题提出之后,很快有OpenStack的开发者进行了回复.本文在此摘抄了前两名回复进行翻译,以供各位参考. 排名第

Hadoop分布式文件系统和OpenStack对象存储有何不同

最近在Quora上有人提到一个问题,有关Hadoop分布式文件系统和OpenStack对象存储的不同.             问题原文如下: "HDFS (Hadoop分布式文件系统)和OpenStack对象存储(OpenStack Object Storage)似乎都有着相似的目的:实现冗余.快速.联网的存储.什么样的技术特性让这两种系统因而不一样?这两种存储系统最终趋于融合是否大有意义?" 问题提出之后,很快有OpenStack的开发者进行了回复.本文在此摘抄了前两名回复进行翻译