对象存储是直到 90 年代中期才出现。作为块存储上相对较新的产品,它与其他存储类型(例如块存储或文件存储)的区别可能会有些混乱。这篇文章是探讨这些关键差异的系列文章之一,重点关注对象存储与文件存储。给大家简答简答“对象存储”和“文件存储”的区别,以及两种存储产品的应用场景分别是什么?
什么是对象存储?
基于对象的存储本质上将数据本身与元数据标签和唯一标识符捆绑在一起。元数据是可定制的,这意味着您可以为每条数据输入更多的识别信息。这些对象存储在平面地址空间中,这样可以更轻松地跨区域定位和检索数据。
这种扁平地址空间也有助于可扩展性。通过简单地添加额外的节点,您可以扩展到 PB 甚至更多。
什么是文件存储?
文件存储比对象存储存在的时间要长得多,并且是大多数人所熟悉的。您命名文件/数据,将它们放在文件夹中,并且可以将它们嵌套在更多文件夹下以形成设置路径。通过这种方式,文件被组织成具有目录和子目录的层次结构。每个文件还有一组有限的与之关联的元数据,例如文件名、创建日期和上次修改日期。
这在一定程度上非常有效,但随着容量的增长,文件模型变得繁重,原因有两个。首先,性能受到超出一定容量的影响。NAS系统本身的处理能力有限,使得处理器成为瓶颈。性能也受到伴随容量增长的海量数据库(文件查找表)的影响。
对象存储与文件存储的区别
现在您已经了解了基于对象的存储和文件存储的基础知识,让我们看看将两者分开的一些主要区别。
首先,对象存储克服了文件存储面临的许多限制。将文件存储视为仓库。当你第一次把一盒文件放在那里时,你似乎有足够的空间。但是随着您的数据需求的增长,您会不知不觉地将仓库填满。另一方面,对象存储就像仓库一样,只是没有屋顶。您可以无限地添加数据 - 无限可能。
如果您主要检索较小的文件或单个文件,那么文件存储的性能就会大放异彩,尤其是在数据量相对较少的情况下。但是,一旦开始扩展,您可能会开始想,“我将如何找到我需要的文件?”
在这种情况下,您可以将对象存储视为代客泊车,而文件存储更像是自助泊车(是的,另一个类比,但请耐心等待!)。当你把车停在一个小地方时,你就知道你的车在哪里。然而,想象一下这个地块大了一千倍——找到你的车会更难,对吧?
因为对象存储具有可定制的元数据,并且所有对象都位于一个平面地址空间中,所以这类似于将您的钥匙交给代客。您的汽车将被存放在某个地方,当您需要时,代客会为您取车。取回您的汽车可能需要更长的时间,但您不必担心四处寻找。所有这些特性和优势也扩展到云中的对象存储。
对象存储元数据
对于元数据为何会产生影响的真实示例,我们可以查看 X 射线。X 射线文件的相关元数据有限,例如创建日期、所有者、位置和大小。另一方面,X 射线对象可能具有丰富多样的元数据信息。
元数据可能包括患者姓名、出生日期、受伤详细信息、身体的哪个区域进行了 X 射线检查——此外还有与文件相同的标签。这使得医生提取相关信息以供参考非常有用。
如果您想要更直接的并排比较,请查看下表比较了基于对象存储与文件存储:
这只是对对象存储和文件存储之间差异的一般概述,但它应该让您更清楚地了解每种类型的优势。
对象存储和文件存储一起使用
现在海域云提供了一种方法来为您的文件获得基于对象的存储的优点:海域云OSS,一种横向扩展的文件存储系统,它提供 NAS 功能以及基于对象的存储的可扩展性和成本。