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

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 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,搭建一个在线教育视频课程分享网站。
相关文章
|
2月前
|
Java API 开发工具
如何用阿里云 oss 下载文件
阿里云对象存储服务(OSS)提供了多种方式下载文件,以下讲解下各种方式的下载方法
1053 1
|
3月前
|
缓存 前端开发 UED
PWA 架构下文件 hash 的重要作用介绍
PWA 架构下文件 hash 的重要作用介绍
131 0
|
5月前
|
设计模式 前端开发 Java
了解 Spring MVC 架构、Dispatcher Servlet 和 JSP 文件的关键作用
Spring MVC 是 Spring 框架的一部分,是一个 Web 应用程序框架。它旨在使用 Model-View-Controller(MVC) 设计模式轻松构建Web应用程序。
63 0
|
6月前
|
数据处理 对象存储
如何利用 OSS 转换 webp 文件为jpeg
如何利用 OSS 转换 webp 文件为jpeg,OSS 样式使用
1532 1
|
2月前
|
弹性计算 前端开发 小程序
微信小程序上传文件至阿里云OSS直传(java后端签名+前端直传)
当前的通用文件上传方式是通过前端上传到服务器,再由服务器转存至对象存储。这种方式在处理小文件时效率尚可,但大文件上传因受限于服务器带宽,速度较慢。例如,一个100MB的文件在5Mbps带宽的阿里云ECS上上传至服务器需160秒。为解决此问题,可以采用后端签名的方式,使微信小程序直接上传文件到阿里云OSS,绕过服务器中转。具体操作包括在JAVA后端引入相关依赖,生成签名,并在微信小程序前端使用这个签名进行文件上传,注意设置正确的请求头和formData参数。这样能提高大文件上传的速度。
|
5天前
|
分布式计算 大数据 MaxCompute
MaxCompute产品使用合集之使用pyodps读取OSS(阿里云对象存储)中的文件的步骤是什么
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
5天前
|
分布式计算 Java 大数据
MaxCompute产品使用合集之大数据计算MaxCompute外部表映射了oss中的csv文件,看到"\N"被解析为"N",是什么原因
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
17天前
|
SQL 消息中间件 存储
对象存储OSS产品常见问题之恢复文件覆盖如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
37 0
|
18天前
|
存储 数据可视化 安全
对象存储OSS产品常见问题之有几十亿个txt文件,单个4kb,使用oss如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
47 11
|
18天前
|
存储 监控 开发工具
对象存储OSS产品常见问题之python sdk中的append_object方法支持追加上传xls文件如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
46 9