存储概念

DAS

直连附加存储,通过直连到计算机主板总线。识别为一个块设备。如:U盘、硬盘

NAS

网络附加存储,NAS将本身存储设备做成磁盘阵列以提供高容量、高效能、高可靠等特性通过网络来提供数据存储和文件服务。当然,NAS不一定需要RAID,但会大大降低数据的安全性。

当计算机/服务器本机存储空间将要达到上限时,可以将NAS存储服务器的容量通过网络提供给计算机/服务器。同时用作数据共享,重要资料备份等等

常见的有:NFS、CIFS、FTP、HTTP、SMB等,提供文件级别的存储,且成本低易于部署

SAN

存储区域网络。专门为存储建立的独立于TCP/IP网络之外的存储专用网络,目前常见的SAN有IP-SAN和FC-SAN,IP-SAN通过TCP/协议转发SCSI协议,FC-SAN通过光纤通道转发SCSI协议。

通过建立专有的高性能、高可用、高可靠性等特点的存储服务器通过以太网(IP)或光网络(FC)向计算机或服务器提供块级别的存储。通过使用SAN提高了存储的性能和升级能力。

文件存储

文件存储换句话来说:物理存储通过连接到主板接口提供给计算机使用,当操作系统加载识别后,对于操作系统来说存储设备就是一个裸磁盘(或块设备),对于块设备操作系统是无法直接存储文件资料的。需要在块设备上建立文件系统才可以对资源进行存储操作。

理解了上面这句话之后。我们知道大致得知:物理设备——裸磁盘/块设备(对于操作系统而言)——–文件系统(对于操作系统而言)。而文件存储和块存储说简单点就是。通过网络向远程计算机提供块存储服务或者文件存储服务。

文件存储相对计算机来说是类似像一个文件系统即开箱即用,不需要格式化建立文件系统等。存储服务器通过网络将本地的文件目录共享出来为计算机提供使用,用户可以直接访问、存储等。

文件存储的主要对象是文件,文件存储的结构是多层目录结构(树型),当数据量过大、小文件过多,文件存储Hold不住的,会导致访问查询等操作非常缓慢(索引问题)

块存储

块存储相对计算机来说是一块裸磁盘,是不能直接使用的,需要对其进行格式化建立文件系统。存储服务器通过网络将自己的存储设备划分成指定大小的块设备,通过网络提供给计算机。

块存储在性能上强于文件存储,但是块存储不能共享

对象存储

不管是文件存储还是块存储,在面临大量小文件存储,体验都不是很友好,虽然块存储的性能比文件存储要高(读/写),块存储还是要建立文件系统,在大量小文件存储的应用场景,还是会受到文件系统检索的影响。因为不管是文件存储还是块存储建立文件系统后,都还是树型结构的文件系统,如果层级过多小文件过多,读写效率贼慢

树型文件系统的索引方式是目录索引法。它的弊端是:

  1. 文件索引方式过于复杂,使得索引查询及目录管理变得比较困难。

  2. 文件索引方式要求每一个文件必须有一个唯一的标识,而且标识必须是完整的,这使得文件索引变得更加复杂。

  3. 文件索引法的索引表不能及时更新,容易出现混乱的状况。

而对象存储颠覆了传统的文件系统以树型目录结构管理文件的方式,对象存储只有桶(Bucket)的概念,桶里面全部都是对象(Object),是一种扁平化的存储方式。对象存储的核心是将数据通路(数据读/写)和控制通路(元数据)分离,并且基于对象存储设备(OSD构建存储系统

对象Object是系统中数据存储的基本单位,一个对象实际上就是文件的数据和一组属性信息(Meta Data)的组合。每个对象是数据和数据属性集的综合体

Bucket和Object都有一个全局唯一的ID。对象存储采用扁平化结构管理所有数据,用户通过认证后根据ID就可以访问Bucket和Object以及相关的数据、元数据和对象属性

例如:百度网盘就是对象存储,对象存储有个一个特点就是:只能上传、下载、预览。不能编辑。如果要修改数据只能下载修改后在上传。对象存储适用于海量数据的存储、小文件存储和归档等等。