存储比较:对象vs.文件vs.块存储
通常没有正确或错误的存储选项。企业需要评估的是存储选项是否适合其当前的需求。
在当今日益数字化的世界中,企业采用越来越多的存储解决方案。每个存储解决方案都有一些独特的特性,适合不同的用例。虽然拥有选择权是一件好事,但缺点是企业需要花费更多时间评估每个选项。为了帮助人们选择正确的存储,以下比较三种最受欢迎的存储选项:对象存储、文件存储和块存储。
什么是对象存储?
对象存储是一种使企业能够管理离散单元或对象中存储的方法。使用这种存储类型时,数据对象将保留在没有嵌套或分层文件结构的单个存储库中。
存储中的每个对象都包含构成文件的所有数据块以及任何关联的元数据。然后,将这些数据放入一个存储池(一个平面地址空间)中。当企业需要检索数据时,可以通过分配给该对象的唯一标识符来查找数据。
对象存储之所以有用,部分原因在于附加到文件的元数据。该元数据可以自动生成,也可以由企业定义,从而可以进行多种分析。另一个好处是能够灵活存储数据而无需考虑层次结构。这赋予了使用存储资源最大容量的更大能力,并且更易于扩展。
尽管有这些好处,对象存储确实具有比文件或块存储系统慢的缺点。对于要求低延迟的应用程序或工作负载,这是一个糟糕的选择。
什么是文件存储?
文件存储是一种在分层系统中存储数据的方法。文件存储是大多数用户熟悉的标准存储方法。使用文件存储,企业的数据以与检索时相同的格式存储。企业可以通过Windows中的服务器消息块(SMB)协议或Unix或Linux中的网络文件系统(NFS)协议访问文件存储。
服务器消息块(SMB)和网络文件系统(NFS)是使企业能够以与将数据存储在客户端计算机上相同的方式将文件存储在服务器上的协议。企业可以挂载全部或部分文件系统,并在多个客户端设备之间共享访问权限。这些协议也通常与网络附加存储(NAS)设备一起使用。
网络附加存储(NAS)设备通常用于扩展文件存储,也能够以网络附加存储(NAS)备份的形式使用,用于为文件存储提供冗余。这些设备使扩展文件存储成为可能,否则文件存储将限于单个硬盘或物理连接的存储设备。
什么是块存储?
块存储是一种抽象底层存储设备上的存储的方法。块存储设备作为称为块的单元集群进行管理。在每个块中,企业存储单个文件的一部分。然后,为该块分配一个唯一的地址,使文件可以分散在多台计算机上存储,从而更有效地使用存储。
当要检索文件时,将向企业存储文件的块设备发出请求。将请求转换为阻止请求后,重新组合的文件将返回到企业的计算机,就像该设备是标准硬盘一样。
块存储的好处是,它可以在功能类似于即插即用存储磁盘的卷上启用低延迟操作。将块存储附加到服务时,可以对其进行格式化以接受所需的任何文件系统,其中包括NTFS、XFS或ext4。块存储通常也跨设备复制,以确保在一个设备损坏时数据是可恢复的。
文件vs.块存储
使用块存储时,将根据发送到存储服务器的归档请求在特定的块中进行操作。这要求查找块的存储位置,检索那些块,并返回文件的各个字节。
使用文件存储时,请求通过用户级数据表示接口发送。这些界面要求用户指定文件信息,包括文件名、URL和目录位置。这需要用户提供更多信息,但无需存储系统搜索或转换文件。
与块存储相比,文件存储的主要好处是用户对文件系统很熟悉。相比之下,块存储比文件存储提供了更大的灵活性。还可以对其进行修改以提高性能,而文件存储的自定义性则较差。
一般来说,文件存储更适合于创建供办公室使用的内容存储库或目录、存储较小数量的结构化数据或存储具有强烈数据保护要求的文件。同时,块存储更适合于数据库、关键应用程序的数据存储和虚拟化系统的存储。
对象存储vs.块存储
对象存储和块存储之间的主要区别在于,对象存储包含元数据,而块存储则不包含元数据。这使对象存储可以包含有关文件的场景,而块存储则是无场景的。另外,在对象存储中,每个对象都有唯一的标识符,从而无需像块存储中那样按位置搜索数据。
虽然块存储和对象存储都可以扩展,但是对象存储却越来越容易扩展。要扩展对象存储,只需要将更多节点添加到存储集群。与其相反,根据使用的块服务,可能无法在达到分配的存储空间后进行扩展。
虽然对象存储提供了更大的灵活性,但存储的可定制性比块存储慢。这至少部分是因为块存储使企业能够修改文件的增量部分。同时,对象存储要求将对象修改为单个单元。这意味着企业进行的任何小更改都需要重写整个对象。这比使用块方法要慢得多,因为它需要访问和更新更多的数据。
在通常情况下,块存储对于依赖存储性能、事务性数据存储和不需要元数据分析的数据的应用程序和工作流来说是更好的选择。同时,对象存储更适合于存储非结构化数据、存储大型数据集以及使用自定义数据保留、删除和保留策略存储数据。
结论
通常,没有正确或错误的存储选项。企业需要评估的是这个存储选项是否适合其当前的需求。
对象存储将数据存储在离散的单元或对象中,这使企业可以存储数据而没有任何嵌套或分层的文件结构。如果确实要创建分层系统,则可以使用文件存储。另一方面,块存储使企业可以创建块单元并在多台U嗥魃鲜褂盟?恰