海量小文件存储的优化文献综述

 2021-09-25 01:09

全文总字数:3374字

毕业论文课题相关文献综述

一、海量小文件存储问题出现的背景

在互联网(尤其是移动互联网)、物联网、云计算、大数据等高速发展的大背景下,数据呈现爆炸式地增长。根据IDC的预测,到2020年产生的数据量将达到40ZB,而之前2011年6月的预测是35ZB。然而,社会化网络、移动通信、网络视频音频、电子商务、传感器网络、科学实验等各种应用产生的数据,不仅存储容量巨大,而且还具有数据类型繁多、数据大小变化大、流动快等显著特点,往往能够产生千万级、亿级甚至十亿、百亿级的海量小文件,而且更多地是海量大小文件混合存储。

目前的文件系统,包括本地文件系统、分布式文件系统和对象存储系统,都是主要针对大文件设计的,比如XFS/EXT4、Lustre、GlusterFS、GPFS、ISLION、GFS、HDFS,在元数据管理、数据布局、条带设计、缓存管理等实现策略上都侧重大文件,而海量小文件应用在性能和存储效率方面要大幅降低,甚至无法工作。

二、小文件存储问题的原因

传统磁盘本质上一种机械装置,如FC,SAS, SATA磁盘,转速通常为5400/7200/10K/15K rpm不等。影响磁盘的关键因素是磁盘I/O服务时间,即磁盘完成一个I/O请求所花费的时间,它由寻道时间、旋转延迟和数据传输时间三部分构成。因此可以计算磁盘的 IOPS= 1000 ms/ (Tseek Troatation Ttransfer),如果 忽略数据传输时间,理论上可以计算出磁盘的最大IOPS。当I/O访问模式为随机读写时,寻道时间和旋转延迟相对于顺序读写要明显增加,磁盘IOPS远小于理论上最大值。定义有效工作时间P t =磁盘传输时间/磁盘I/O服务时间,由此可知随机读写单个文件效率要低于连续读写多个文件。对于磁盘文件系统来说,无论读写都存在元数据操作。当操作连续大文件时,对元数据的操作开销可被庞大的数据操作开销分摊,但小文件的有效读写率小于大文件的,当小文件数量急剧增加时,对大量元数据的操作会严重影响系统的性能。

从上面对磁盘介质的分析可以看出,磁盘最适合顺序的大文件I/O读写模式,但非常不适合随机的小文件I/O读写模式,这是磁盘文件系统在海量小文件应用下性能表现不佳的根本原因。前面已经提到,磁盘文件系统的设计大多都侧重于大文件,包括元数据管理、数据布局和I/O访问流程,另外VFS系统调用机制也非常不利于LOSF,这些软件层面的机制和实现加剧了LOSF的性能问题。

从软件层面说,还有如下问题:

1.Cache 命中率低:用户为了提高应用对文件的访问效率,往往会在前端配置一个稍大容量的缓存。但由于小文件的数量极其庞大,应用对这些文件访问的随机性非常高,使得Cache 命中率极低,缓存失去了应有的作用,导致应用需要直接到后端存储系统上读取数据,给存储系统带来了极大的压力。LoongStore 在用户现场调查中发现,即使是采用了昂贵的高端存储系统,在用户高并发访问的情况下,存储系统经常出现长时间无响应的严重故障。

2.海量文件检索效率低:由于现有的存储系统无法有效管理海量小文件,并且在单个目录下存放文件的数量有一定的限制,一旦文件数到达了一定规模之后,文件的检索速度就急剧下降。当前用户只能通过多级目录来组织存放大量的小文件,随着目录深度的增加,文件的检索开销进一步增大,检索效率随之下降。

3.文件数据的可用性差:现有的存储系统一旦出现连续的磁盘故障或者服务器失效的情况,将会立即中断应用的读写过程,严重的甚至造成数据丢失。小文件的备份速度极慢,而备份大量小文件将会耗费大量的时间和系统资源。用户在存储大量小文件时不得不采用了费时费力的方式,将文件复制多份到多套的存储系统中以提高安全性

三、文件系统结构

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。