什么是块存储、文件存储、对象存储?

我们都知道,存储设备就是为数据提供空间。

U盘、硬盘和固态硬盘都是存储最终的存储设备。而块存储、文件存储和对象存储也可以简单地理解是不同类型的存储设备,它们是根据使用介质存储数据的手段或方法不同来划分的。

首先我们来看下块存储:

块存储提供的是不带文件系统裸磁盘,使用之前需先进行初始化。

我们比较常见的块存储形式是我们的Windows硬盘或手机存储空间,数据是按字节块来存储和访问的。

块存储使用时,文件系统在客户端,例如Windows系统,我们可以在Windows桌面查看我们存储的内容,但是对于硬盘里的内容和格式,我们是一无所知的,只有借助客户端的文件系统才能查看。

通俗的来说,**在块存储中,数据就像每个瓜子一样,堆放在存储仓里。瓜子就是每个数据块,这个存储舱就是磁盘。**块存储只关心瓜子的进来和出去,不关心瓜子粒之间的关系和用途。

下面我们来看下什么是文件存储:

**文件存储的存储端带有文件系统,**我们常见的NAS存储都是文件存储设备。

这些文件存储设备除了磁盘外还带有文件系统,用户直接通过存储端的文件系统就能调用存储资源。

文件存储一般体现形式是目录和文件(比如C:\User\ProgramFiles\CommonFiles),数据以文件的方式存储和访问,按照目录结构进行组织。文件存储有自己的文件系统,对于每个客户端而言是一个统一的文件系统,可以同时供多个客户端使用,易于共享。

好比上面图中,数据像瓜子一样在一起组成了向日葵,再对应到不同的向日葵杆,要找到某个向日葵籽,先找到这个对应的向日葵杆,再找到这个向日葵,然后根据在这个向日葵上对应的位置找到这个瓜子。

相比于块存储,文件存储由于有自己的文件系统,**可以实现更高级的管理,可以很方便的共享,因此用途非常广泛。**比如常用的NFS、CIFS、ftp等都是基于文件存储的。但相比于块存储,文件存储读写速度相对于块存储要慢一点。

最后我们来看下对象存储:

块存储性能出色但是不能共享,文件存储可以共享但是速度又总是不让人满意。

作为不会做选择题的成年人,既想性能,还要实现共享,同时还要满足大规模扩展需求,所有后来就出现了对象存储。

对象存储一般体现形式是一个UUID(比如我们常见的网址https://new.qq.com/omn/20201119/20201119A0CEI01210.html),这个UUID是唯一性的,即使在全球也只有通过这一个UUID。

数据和元数据打包在一起作为一个整体对象存在一个超大池子里。用户想访问,只需能通过它的UUID,才能找到它。

好比上面图中,数据的葵花籽被做成了包装袋,每个包装袋都有一个唯一出厂条形码,但是找对应的对应的瓜子袋,只能通过唯一条形码找到对应的瓜子袋,但每一次都只能是一袋为单位。

对象存储端的文件系统就是采用这种哈希表-键值(可以理解为查字典,最多两层目录)这种方式来提高读写速度的。

对象存储就可以非常简单的扩展到超大规模,因此非常适合数据量大、增速又很快的视频、图像等,例如百度网盘、大数据存储;

相关推荐
分布式存储与RustFS7 分钟前
OpenSearch 的索引快照别只留本地:用 repository-s3 存进 RustFS
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
分布式存储与RustFS18 小时前
镜像仓库的层别堆本地盘:用 RustFS 给 Docker Registry 当 S3 后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
分布式存储与RustFS1 天前
RustFS 自建对象存储实战目录:110 篇按场景分类(持续更新)
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
分布式存储与RustFS2 天前
Hudi 表想摆脱 HDFS 绑定?用 Spark + Hudi 直接写进 RustFS
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
分布式存储与RustFS3 天前
给 RustFS 桶加一层内存缓存:用 Alluxio 让热数据少跑一遍网络
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
分布式存储与RustFS4 天前
Longhorn 的卷备份别堆本地盘:用 RustFS 给它当 S3 备份目标
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
分布式存储与RustFS5 天前
JuiceFS 接 RustFS 当数据后端:把对象存储挂成本地文件系统
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
分布式存储与RustFS5 天前
K8s 集群备份落到自建对象存储:Velero 接 RustFS 配置指南
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
分布式存储与RustFS6 天前
可观测性数据落进对象存储:Proscia 案例拆解与 ClickHouse 自托管配置
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
分布式存储与RustFS6 天前
Kafka 分层存储落地指南:冷 Segment 自动落到 RustFS 对象存储
运维·云原生·开源·对象存储·分布式存储·s3·性能基准