什么是对象存储和文件存储?_为什么对象存储正在吞噬世界

什么是对象存储和文件存储?

传统的文件系统和数据库Web后端已不再足够,并且必须为管理非结构化数据的存储系统让路。 在本文中,我们将了解结构化和非结构化数据之间的差异,以及为什么必须发展Web存储后端来管理非结构化数据。

传统上,Web应用程序使用文件系统和数据库来存储用户数据。 这很容易管理,因为Web应用程序通过接受表单中的文本输入并将输入保存到数据库来生成结构化数据。 然而,时代在变。 随着社交媒体,云存储和数据分析平台的出现,越来越多的非结构化数据被推到Internet上。

背景

IDC于2014年进行的一项研究预测,到2020年,全球每年创建和复制的非结构化数据将达到44 ZB,即44万亿GB。这比2013年的4.4 ZB增长了10倍。 如果您认为这有点过多,请考虑一下:2015年,非结构化数据已经占所有数字数据的90%!

因此,与其他计算范式一样,存储系统需要发展以管理冲击互联网的新一波非结构化数据浪潮。 但是,在我们进行下一步之前,让我为您定义非结构化数据。 不能组织起来存储在关系数据库中的数据通常称为非结构化数据。 您可以具有文本或非文本的非结构化数据。 文本文档,电子邮件和演示文稿是文本非结构化数据的示例。 非文本非结构化数据的示例包括视频,图像和音频文件。 您也可以看一下Quora线程,以了解结构化和非结构化数据之间的区别。

为什么要存储对象?

现在,我们知道正在生成大量非结构化数据,需要以一种易于访问但又安全可靠的方式来处理它。 自现代计算开始以来,我们就已经有了人们一直在使用的存储机制,即文件系统。

那么,为什么我们需要一个全新的存储范例? 答案在于细节。 让我们结束一点,了解要求。

当我们谈论非结构化数据及其规模时,重要的是要了解用于存储数据的基础系统应很好地扩展。 但是扩展文件系统很困难。 您不仅需要管理(有时)文件系统强加给您的(有时)不必要的元数据和层次结构,还需要进行维护方面的考虑,例如备份管理。

仅收集非结构化数据是不够的。 您还需要应用某种级别的组织来理解数据。 文本分析,自动分类和自动标记之类的技术对于从您收集的所有非结构化数据中获得业务意义至关重要。 对于文件系统,这是很难实现的,因为它们具有固定的布局。

文件系统不是为HTTP(S)创建的,而是为人类创建的。 共享和管理文件系统中的文件很难以编程方式处理。 处理文件流和可能的边界情况很容易出错,并且需要大量时间和精力。

为了绕过所有这些,需要一些新的东西,从头开始想象的东西,这些东西使新的需求成为关注焦点。 这导致我们进行对象存储。

什么是对象存储

与文件系统中的文件不同,对象以平面结构存储。 只有一个对象池:没有文件夹,目录或层次结构。 您只需通过提供对象ID来请求给定对象。 对象可能位于本地,也可能位于数千英里之外的云服务器上,但是由于它们位于平坦的地址空间中,因此可以完全相同的方式检索它们。

一个重要方面是元数据处理。 对象存储提供了很大的灵活性,因为对象元数据是任意的。 元数据不限于存储系统认为重要的内容(考虑文件系统中固定的元数据)。 您可以手动添加任何类型或数量的元数据。 例如,您可以分配与对象关联的应用程序的类型。 应用程序的重要性; 您要分配给对象的数据保护级别; 是否要将此对象复制到另一个站点或多个站点; 何时将该对象移动到不同的存储层或不同的地理位置; 何时删除该对象。 依此类推,可能性是无限的。

通过HTTP(S)访问文件非常重要,以确保文件易于访问。 然后,可以对其进行分析或其他技术。 对象存储处理得很好。 几乎所有提供对象存储的平台都具有REST API,可帮助您通过HTTP(S)访问文件。 这些API不仅在访问数据方面有帮助,而且还可以帮助您进行身份验证,获取文件属性和管理权限,而您需要在文件系统中手动执行所有这些操作。

解决方案

既然Internet上的大多数数据都是非结构化的,并且专家预测这种趋势将以两位数增长,因此应对这一挑战非常重要。 非结构化数据必须以易于访问的方式存储,并且我们必须具有从收集到的所有大量非结构化数据中获取业务意义的工具。

让我们看一下几种最流行的开源对象存储解决方案:

头孢

Ceph是一个分布式对象,块和文件存储平台。 Ceph的软件库为客户端应用程序提供了对RADOS基于对象的存储系统的直接访问,并为Ceph的某些高级功能(包括RADOS块设备(RBD),RADOS网关和Ceph文件系统)奠定了基础。 (请参阅OpenStack的Ceph存储介绍 。)

许可证源代码

小野

Minio是一种简约的对象存储服务器,与Amazon S3的API兼容。 Minio是用Go语言编写的,轻巧且高度并发。 (请参阅使用Minio进行的最小对象存储 。)

许可证源代码

OpenStack迅捷

OpenStack Swift是一个高度可用的,分布式的,最终一致的对象/ blob存储。 Swift用Python编写,支持REST API和其他客户端来访问数据。 (阅读更多有关Swift的Opensource.com文章 。)

许可证源代码

本文的一个版本先前已发布在Minio Blog上。 经许可并在知识共享下重新发布。

翻译自: https://opensource.com/life/16/7/object-storage

什么是对象存储和文件存储?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值