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

本文涉及的产品
对象存储 OSS,20GB 3个月
文件存储 NAS,50GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
简介:

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

在对象存储体系架构的最底层,所有的数据仍以块存储的形式加以存放。对象存储作为块存储的上层,包含了数据(即包含所存储信息详细描述的元数据)以及独有的识别符,将其封装成为特定的对象。由于对象存储的逻辑结构位于块存储之上,它与下层的硬件层无关,于是便可使用任何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(转载)

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
27天前
|
Java 对象存储 开发者
解析Spring Cloud与Netflix OSS:微服务架构中的左右手如何协同作战
Spring Cloud与Netflix OSS不仅是现代微服务架构中不可或缺的一部分,它们还通过不断的技术创新和社区贡献推动了整个行业的发展。无论是对于初创企业还是大型组织来说,掌握并合理运用这两套工具,都能极大地提升软件系统的灵活性、可扩展性以及整体性能。随着云计算和容器化技术的进一步普及,Spring Cloud与Netflix OSS将继续引领微服务技术的发展潮流。
33 0
|
2月前
|
存储 NoSQL 关系型数据库
MPP架构数据仓库使用问题之Visibility bitmap表被删除的文件信息是如何记录的
MPP架构数据仓库使用问题之Visibility bitmap表被删除的文件信息是如何记录的
|
4月前
|
DataWorks 安全 关系型数据库
DataWorks产品使用合集之同步数据到OSS时,文件的切分单位如何设置
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
1月前
|
存储 监控 数据可视化
SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
【9月更文挑战第2天】SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
100 9
|
2月前
|
文字识别 算法 API
视觉智能开放平台产品使用合集之上传素材文件不在同一地域的OSS,怎么上传多张图片
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
36 1
|
2月前
|
存储 运维 Serverless
函数计算产品使用问题之OSS触发器是否可以只设置文件前缀
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
2月前
|
缓存 Cloud Native 关系型数据库
MPP架构数据仓库使用问题之DADI的文件异步预取机制是怎么工作的
MPP架构数据仓库使用问题之DADI的文件异步预取机制是怎么工作的
|
2月前
|
存储 NoSQL 索引
MPP架构数据仓库使用问题之在ORC文件中,String类型字段是怎么进行编码的
MPP架构数据仓库使用问题之在ORC文件中,String类型字段是怎么进行编码的
|
3月前
|
消息中间件 分布式计算 DataWorks
DataWorks产品使用合集之如何使用Python和阿里云SDK读取OSS中的文件
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
3月前
|
分布式计算 DataWorks 调度
DataWorks产品使用合集之在使用MaxCompute进行数据集成同步到OSS时,出现表名和OSS文件名不一致且多了后缀,该如何处理
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。