什么是块存储?

块存储是一种云存储,其工作原理是将数据划分为块。块存储允许快速检索数据。

学习目标

阅读本文后,您将能够:

  • 定义块存储
  • 描述块存储的工作原理
  • 了解块存储与对象存储的对比情况

相关内容


想要继续学习吗?

订阅 TheNET,这是 Cloudflare 每月对互联网上最流行见解的总结!

参阅 Cloudflare 的隐私政策,了解我们如何收集和处理您的个人数据。

复制文章链接

什么是块存储?

块存储是一种可以将文件和数据划分为大小相等的块的云存储。由于这种存储方式不依赖文件系统,因此可以实现快速检索数据。想想以下两者之间的区别:翻遍整个城市的图书馆的数字目录找一本书,和准确知道一本书在书架上的位置。前者更像文件存储;后者更像块存储。

对于经常需要从后端加载数据的应用程序,开发者通常更喜欢使用块存储。块存储速度快,扩展性极好。它还能与几种计算类型和网络模型很好地配合,包括容器计算、虚拟机和存储区域网络 (SAN)。

然而,块存储并非没有缺点。文件元数据必须是非常基本的数据,通常无法自定义(想象一个图书馆只记录书名)。与其他一些云存储模式(如对象存储)相比,块存储成本更高。

块存储如何工作?

数据写入

当一个使用块存储的应用程序将数据写入块存储数据库时,它不是将其作为一个文件来存储,而是将数据分成几个部分,即“块”。这些块不必以任何特定的顺序存储。

唯一标识符

每个块都有一个唯一的识别码,使得应用程序以后能够通过该标识符找到该块。

数据查找表

这些唯一的标识符被存储在一个数据查找表中 — 这种格式可以让应用程序在需要时轻松找到每个块的位置。

数据读取

每当请求存储在块中的数据时,应用程序就会查询数据查找表,以找到所请求的数据的存储位置。通常,请求的数据分散在多个块中。应用程序将使用表中的标识符来检索数据,并将不同的数据块合并成原始形式。

块存储的好处是什么?有什么弊端?

好处包括:

  • 块存储查找速度快:块存储使用唯一的标识符,而不是使用元数据或文件层次结构来搜索数据,意味着可以极快地检索到数据。
  • 可以通过多种途径找到数据:由于唯一的标识符是检索所需的全部内容,因此块存储允许以多种方式找到数据。相比之下,如果是文件存储,则需要根据文件的层次路径进行查找,直到找到所需文件。

弊端包括:

  • 块存储较为昂贵:部分原因是它经过优化,具有快速性能,因此块存储比对象存储的成本更高。想想一辆赛车的成本为什么比一辆大型客货车要高。
  • 块存储的元数据是有限的:块存储只包括基本文件属性作为元数据。

块存储与对象存储相比如何?

对象存储将文件和数据保存在所谓的“数据湖”中,这是非结构化数据的非层次性集合。任何类型的数据或文件格式都可以进入对象存储,这意味着与块存储不同,元数据可能比较复杂,也可能是自定义数据。对象储存非常灵活,适用于各种使用情况,其常见用途包括媒体(如视频和音频)、日志以及灾难恢复和备份。

由于对象存储不是结构化或层次化的,它可以快速地、几乎无限地存储大量的数据 — 就像打包去度假时,把衣服松散地塞进一个大袋子里,比仔细把衣服叠好并分类放进行李箱里要快。然而,就像用这种方式打包一样,对象存储会降低数据检索效率。

对象存储与块存储 对象存储 块存储
存储容量 几乎无限制 取决于供应商
数据检索 有时很慢 快速
元数据 可自定义 基本的,有限制的

Blob 存储是用于二进制大型对象(俗称“blob”)的另一种对象存储。它也最适用于不需要经常检索的非结构化数据。

块存储与文件存储相比如何?

云文件存储本质上是一个传统的托管在的文件和文件夹层次结构。数据的文件夹嵌套在目录和子目录中;在每个文件夹中,文件都标有元数据标签,以便于识别。文件存储使数据有条不紊,但它不能很好地扩展到大量的数据。翻阅层次结构会增加数据检索时间。

然而,文件存储可能对某些用例很有效。不需要以企业级规模存储和检索数据的个人可能会发现文件存储可以满足他们的需求。

什么是 Cloudflare R2?

数据检索的成本(也称为数据出口费)是当今企业关心的一个主要问题。为了应对这些不断上涨的成本,Cloudflare 通过一项名为 Cloudflare R2 的服务,提供零出口费的对象存储。R2 支持快速、免费的数据检索;而且当它与 Cloudflare Workers 的分布式代码功能相结合时,可以实现无尽的定制化体验。Cloudflare 旨在通过这项服务,帮助开发人员和企业避免供应商锁定

常见问题解答

什么是块存储?

块存储是一种将数据分成大小相等的块的云存储方法。块存储数据检索速度很快,因为可以直接访问每个块,而无需通过文件系统进行搜索。

块存储有哪些常见用例?

块存储通常用于需要频繁加载后端数据的应用。它适用于某些云基础设施模型,包括容器、虚拟机和存储区域网 (SAN)。

块存储中的唯一标识符的工作原理是什么?

每个数据块都拥有一个唯一的标识符编号。这个编号使系统能够根据需要,快速查找和检索特定的数据块。

块存储与对象存储相比如何?

总体而言,对象存储更灵活、可扩展性更强、更便宜,而块存储的优点是快速且高效。块存储将数据分成块,并为每个块分配唯一标识符;对象存储使用数据湖,并通过元数据搜索来查找数据。对象存储基本上无限制,而块存储的容量取决于供应商,并且扩展成本可能很昂贵。

为什么块存储被视为高性能存储?

块存储的速度比较快,是因为它使用唯一标识符来检索数据,而不是通过文件层次结构搜索或使用元数据。

块存储中的数据查找表的用途是什么?

数据查找表使用块的标识符来跟踪每个块的存储位置。提出数据请求后,系统会使用此表来查找正确的数据块。

块存储的元数据限制有哪些?

块存储仅将基础文件信息存储为元数据,通常很少能够自定义或添加关于数据的额外详细信息。这与对象存储形成鲜明对比,后者通常为自定义元数据提供很大的灵活性。