🔔

DataStore Note1:文件存储、对象存储、块存储

文件存储

典型设备:FTP、NFS服务器
文件存储是我们在使用计算机过程中接触最多的存储类型。我们所说的文件或目录都来源于文件存储。如Windows上的NTFS,Linux上的ext4,XFS等。文件存储主要作用是用于对文件数据进行组织和管理。文件存储中的文件的数据包括:元数据和数据。数据是文件的实体内容;而文件元数据是指用于管理该文件的一些信息数据,如文件大小,名字和属性等。从功能上看,文件存储单纯的是一套管理软件。从层次上看,文件存储一般基于块存储之上。
文件和目录组成了一颗庞大的文件树,文件作为树的叶子节点。在Windows下,我们可以通过鼠标点击的方式一层一层的打开一个文件所在的路径;在Linux下,我们可以通过tree命令来查看某个目录下的子目录树。在文件存储中,访问文件采用路径方式进行交互式访问,也可以通过标准的文件系统接口进行访问。
  • 优点
    • 造价低:随便一台机器就可以,另外普通的以太网就可以,根本不需要专用的SAN网络,所以造价低
    • 方便文件共享
  • 缺点
    • 读写速率低,传输速率慢:以太网,上传下载速度较慢,另外所有读写都要1台服务器里面的硬盘来承受,相比起磁盘阵列动不动就十几上百块硬盘同时读写,速率慢了许多。

对象存储

典型设备:内置大容量硬盘的分布式服务器
对象存储将数据以一个独立的对象的方式进行存储。一个pdf文件,一个视频或其他任意类型的文件都是一个对象。在对象存储中,没有文件系统中的层次结构。对象存储中引入桶的概念,所有的对象存储在各个桶中,整体采用扁平化的方式进行管理。每个桶里的对象都是唯一的,通过对象名进行索引。在对象存储中,访问对象通常采用API方式进行访问。

块存储

典型设备:磁盘阵列、硬盘
块存储是直接操作盘,通常将数据拆分成数据块,然后对盘进行直接的读写。块存储中检索方式就是利用地址。在块存储层面,使用者往往不感知数据的组织方式以及结构,仅仅使用最粗暴的方式将数据进行存储:即将数据按照固定的大小分块,每个块通过逻辑块编号(LBA,Logical Block Addressing)来进行寻址,通过提供对磁盘直接进行操作的接口来进行数据存储。
  • 优点
    • 这种方式的好处当然是因为通过了Raid与LVM等手段,对数据提供了保护;
    • 可以将多块廉价的硬盘组合起来,称为一个大容量的逻辑盘对外提供服务,提高了容量;
    • 写入数据时,由于是多块磁盘组合出来的逻辑盘,所以几块硬盘可以并行写入的,提升了读写效率;
    • 很多时候块存储采用SAN架构组网,传输速度以及封装协议的原因,使得传输速度和读写效率得到提升
  • 缺点
    • 采用SAN架构组网时,需要额外为主机购买光纤通道卡,还要购买光纤交换机,造价成本高;
    • 主机之间数据无法共享,在服务器不做集群的情况下,块存储裸盘映射给主机,在格式化使用后,对于主机来说相当于本地盘,那么主机A的本地盘根本不能给主机B去使用,无法共享数据
    • 不利于不同操作系统主机间的数据共享:因为操作系统使用不同的文件系统,格式化后,不同的文件系统间的数据是共享不了的。 例如一台win7,文件系统是FAT32/NTFS,而linux是EXT4,EXT4是无法识别NTFS的文件系统的。
 

文件存储 NAS 和对象存储 Kodo 有什么不同?

文件存储 NAS 和对象存储Kodo的主要区别:您无需修改应用,即可直接像访问本地文件系统一样访问文件存储 NAS 。文件存储NAS提供高吞吐和高 IOPS 的同时支持文件的随机读写和在线修改。
对象存储 Kodo 是比较新的存储类型,相对于文件存储目录树的组织形式,对象存储 Kodo 采用扁平的文件组织形式,采用 RESTFul API 接口访问,不支持文件随机读写,主要适用于互联网架构的海量数据的上传下载和分发。

文件存储NAS和块存储有什么不同?

文件存储 NAS 相对于块存储的主要区别:文件存储NAS可以同时支持上千个 QVM 客户端同时共享访问,提供高吞吐量。
块存储是裸磁盘,挂载到 QVM 后不能被操作系统应用直接访问,需要格式化成文件系统(ext3、ext4、NTFS等)后才能被访问。块存储的优势是性能高、时延低,适合于 OLTP 数据库、NoSQL 数据库等 IO 密集型的高性能、低时延应用工作负载。但是块存储无法容量弹性扩展,单盘最大只能 32TB,并且对共享访问的支持有限,需要配合类 Oracle RAC、WSFC Windows 故障转移集群等集群管理软件才能进行共享访问。因此,块存储主要还是针对单 QVM 的高性能,低时延的存储产品。

比较

比较

块存储
文件存储
对象存储
概念
用高速(光纤)网络联接专业主机服务器的一种存储方式
使用文件系统,具有目录树结构
将数据和元数据当做一个对象
速度
低延迟(10ms),热点突出
不同技术各有不同
100ms-1s,冷数据
可分布性
异地不现实
可分布式,但有瓶颈
分布并发能力高
文件大小
大小都可以,热点突出
适合大文件
适合各种大小
接口
Driver,Kernel Module
POSOX
Restful API
典型技术
SAN
HDFS/GFS
Swift、Amazon S3
适合场景
银行
数据中心
网络媒体文件存储
存储产品
时延
吞吐
访问模式
文件存储 NAS
低时延(毫秒级)
数百Gbps
上千个 QVM 通过 POSIX 接口并发访问,随机读写
对象存储 Kodo
较低时延(几十毫秒级)
数百Gbps
数百万客户端通过 Web 并发,追加写
块存储
极低时延(微秒级)
数十 Gbps
单 QVM 通过 POSIX 接口访问,随机读写