块级别与文件级别存储

问题描述 投票:0回答:1

我有一些用词:块级存储文件级存储。有人可以解释为什么一个比另一个更好吗?

也许带有示例和算法细化,理解起来真的很有趣。

例如,AWS中的文章说AWS EBS可用于数据库,但为什么它比File Level更好?

amazon-web-services amazon-s3 amazon-ebs
1个回答
0
投票

我喜欢这样想:

  • Amazon Elastic Block Store(Amazon EBS)是block storage。就像插入计算机的USB磁盘一样。信息存储在磁盘上的特定块中,操作系统的工作是跟踪每个文件使用哪些块。这就是Windows和Linux之间磁盘格式不同的原因。
  • Amazon弹性文件系统(Amazon EFS)是文件系统,它是网络附加存储。就像公司为员工提供H:驱动器(或其他任何驱动器)以将数据存储在文件服务器上一样。您mount计算机上的文件系统就像驱动器一样,但是计算机将文件发送到文件服务器,而不是管理块分配本身。
  • Amazon简单存储服务(Amazon S3)是对象存储。您给它一个文件,并将其存储为一个对象。您要求对象,它会把它还给您。可通过API访问Amazon S3。它被not安装为磁盘。 (有些实用程序可以将S3挂载为磁盘,但实际上它们只是将API调用发送到后端,并使它的行为像磁盘一样。)

关于修改文件,它们的行为有所不同:

  • 块存储中的文件(如USB磁盘)可以由操作系统修改。例如,更改一个字节或将数据添加到文件末尾。
  • 可以通过向文件服务器发出请求来修改文件系统(例如H:驱动器上的文件,就像块存储一样。
  • 对象存储中的文件(如S3)是不可变的,无法修改] >>。您可以上传具有相同名称的另一个文件,该文件将替换原始文件,但是您无法修改文件。 (上传的文件称为对象。)
  • Amazon S3具有其他独特属性,例如通过Internet使对象可用,为低成本备份提供多个存储类

,以及在创建/删除对象时提供触发事件。与用于存储数据的简单磁盘相反,它是应用程序的构建块。另外,您可以存储的数据量没有限制。

数据库

数据库喜欢以自己的格式存储数据,这使得数据可以快速访问。传统数据库是为在普通服务器上运行而构建的,它们需要快速访问,因此它们将数据存储在直接连接的磁盘上,这些磁盘是[[块存储

。 Amazon RDS使用Amazon EBS进行块存储。一个

网络连接的文件系统

会减慢数据库磁盘访问的速度,从而降低性能。但是,有时这种权衡是值得的,因为管理网络附加存储(SAN)比继续向每个服务器添加磁盘要容易得多。
Presto之类的[[一些现代'数据库'(如果可以使用该术语)>可以直接在Amazon S3中访问数据,而无需将数据加载到数据库中。因此,数据库处理层与数据层是分离的。由于不需要将其导入数据库,因此这使访问历史存档数据变得更加容易。
© www.soinside.com 2019 - 2024. All rights reserved.