块级存储、文件级存储、对象级存储的区别

目录

从使用直观感受上来看:

块级:

文件级:

对象级:

技术角度:

        块级:

        文件级:

        对象级:

对比:



从使用直观感受上来看:

块级:

生活中常见的块存储设备(也叫“块设备”)比如,插在你本地电脑上的U盘、硬盘,你电脑连接的iSCSI等。

从使用上来说,块级的存储如果是第一次使用,那么必须需要进行一次格式化的操作(其实不格式化也能用,这里只是方便举例的说明),创建出一个文件系统,然后才可以使用,例如新买的U盘、硬盘、或者新发现的iSCSI设备等,首次使用的时候都需要进行一次格式化操作,创建出一个文件系统,然后才可以将你的文件拷贝到U盘、硬盘、或者新发现的iSCSI设备中。

文件级:

文件级是最常见你的一种文件内系统我们日常对操作系使用中,基本上能够直接接触到的都就是这种,能够直接访问的C、D、E盘,电脑里的一个目录,网上邻居的空间都是文件级的存储。块级的存储设备经过格式化以及挂载(win 会自动挂载)之后,你就将一个块级的存储变成了文件级的存储

对象级:

对象存储一般来说并不是给我们人直接去使用的,从使用者角度来说,它更适合用用于给程序使用。平时最常见的一般就是百度网盘,其后端对接的就是对象存储。还有就网页上的图片、视频,其本身也是存储在对象存储的文件系统中的。如果你要直接使用对象级的存储,你会发现对象级的存储本身是非常的简单的(但是对人来说不方便),它只有简单的几种命令如上传、下载、删除,并且你只需要直到某个文件的编号(如:"d5t35e6tdud725dgs6u2hdsh27dh27d7"  这不是名字哦)就可以直接对它进行上传、下载、删除等操作,不需要像文件级那样,直到文件的具体的路径(如:D:\photo\1.jpg),并且他也只有这几种操作,如果你想编辑文件,那只能将文件下载下来编辑好之后在进行上传(这也是它对人来说不方便的原因之一)

技术角度:

块级、文件级对象级技术上的区别,首先要明白两个概念

第一,无论是那个级别的存储系统,其数据都是会存储在物理的存储设备上的,这些存储设备现在常见的基本上就两种机械硬盘、固态硬盘。

第二,任何数据都是由两部”数据“分组成的,一部分是"数据本身"(下文中“数据”指”数据本身“),然后就是这些“数据”的”元数据“。所谓的"元数据"就是用来描述"数据"的"数据"。包括数据所在的位置,文件的长度(大小),文件的访问权限、文件的时间戳(创建时间、修改时间....),元数据本身也是数据。

块级:

对于块级来说如果你要通过块级来访问一段数据的话,你自己需要知道这些数据具体是存在于那个存储设备上的位置上,例如如果你要从块设备上读取一张照片,你就要高速存储设备:我要从第2块硬盘中的从A位置开始到B位置的数据,硬盘的驱动就会将这个数据给你。读取照片的过程中照片的具体位置就是元数据,也就是说块级的存储中要求程序自己保存元数据。

文件级:

如果需要自己保存元数据的话就太麻烦了,上文也说了,元数据本身也是数据,实际上元数据也是存储在硬盘上的,那么如何访问元数据这个数据呢其实,文件级的元数据是存储在固定位置的,存储的位置和方式是大家事先约定好的,这个约定就叫做文件系统,例如EXT4、FAT32、XFS、NTFS等。借助于这些约定,我们就不用自己去维护一个表去记录每一份数据的具体存储位置了。我们只需要直到我们存储的文件的路径和名字就好了,例如我们想要 D:\1.jpg 这个文件,那么你只需要告诉文件系统 D:\1.jpg 这个位置就可以了,去硬盘的哪里找D:\1.jpg 数据的真身,就是文件系统的工作了

对象级:

对象级存储,文件级的元数据实际上是和数据放在一起的,就像一本书每本书都有一个目录,这个目录描述的是这本书上内容的索引,目录就是书内容的“元数据”,而对象存储,会有一本书只放目录(元数据),其他更多的书只有内容,并且内容都是被拆分好的一段一段的,就是说你会看每本书上面的内容完全是混在在一起的,这一页的前两行是书A的某句话,后面就跟的是书D的某句话,如果只放目录(元数据)那本书,你根本不知道这里写的是啥。对象及存储将一切的文件都视作对象,并且将对象按照固定的"形式"组合或拆分的存储在存储设备中,并且将数据的元数据部分完全的独立出来,进行单独的管理。

对比:

从距离(io路径)上来说(这里说的是传统的存储),块级的使用者距离最底层实际存储数据的存储设备是最近的,对象级是最远的。

从使用上来说,块级需要使用者自己直到数据的真是位置,需要自己管理记录这些数据,所以使用上是最复杂的,而对象级的接口最简单,基本上只有上传、下载、删除,并且不需要自己保存元数据,也不需要直到文件的索引路径,所以使用上是最简单的。但是从方便角度来讲还是文件级最方便。

从性能上来说,综合的来讲(在特定的应用场合)性能最好的是块级,它主要用在数据库、对延时要求非常高的场景中,对象存储多用于互联网,因为扩展性好,容量可以做的非常的大。对于人类来说,如果不借助特定的客户端、APP,使用文件级存储是最友好最简单的。

为什么块级的存储性能最好

首先要明确一点,要明确,每次在发生数据读取访问的时候,实际上对应系统的底层是发生了多次IO的(主要是要对元数据进行访问),例如,你要打开文件1.txt ,操作系统回去进行文件是否存在的查询,以及读写权限的查询等操作,这些操作实际上都是对于元数据的访问。

然后,相对于其它的存储方式,上文也提到过,块存储的元数据是有操作系统自己管理的,也就是说整个文件系统(元数据)是存在在操做系统的内存中的,这样操作系统在进行元数据管理的时候可以直和自己的内存打交道。而其它类型的文件系统如文件级存储,它的文件系统是存在于另一台服务器上的,这样在进行元数据访问时就需要从网络进行访问,这样要比从内存访问慢得多。

总结来讲,就是块级存储的元数据在系统本机中,在进行元数据访问(每次读写文件实际都会在操作系统底层发生),会更快,因为其它的级别的存储元数据都要通过网络访问。

todo......

为什么会有对象级

总结

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
对象存储文件存储有一些区别对象存储是一种扁平的存储方式,没有目录结构,而文件存储则有目录树和标准属性(如权限、用户、读写)。\[1\]对象存储的附加属性是灵活的,而文件存储的属性是固定的。\[1\]对象存储的接口协议主要以S3和Swift为代表,而文件存储则以POSIX接口为主。\[1\]对象存储的接口简单,主要包括GET、PUT、DEL等操作,而文件存储的接口更加复杂。\[1\]对象存储适用于存储大量的非结构化数据,如图片、视频、文档等,而文件存储适用于存储有层次结构的文件,如文件柜、抽屉、文件夹等。\[2\]对象存储通常具有高可扩展性和高可用性,而文件存储则更适合用于快速导航和存储复杂文件。\[2\]总的来说,对象存储文件存储在组织数据、接口协议和适用场景上有所不同。 #### 引用[.reference_title] - *1* [对象存储文件存储、块存储区别和联系](https://blog.csdn.net/zollty/article/details/120802724)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [文件存储、块存储还是对象存储?](https://blog.csdn.net/cd_yourheart/article/details/108124232)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [文件存储对象存储区别是什么?](https://blog.csdn.net/chenzuoli/article/details/126332414)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值