文件存储
典型设备: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 接口访问,随机读写 |