海量小文件存储系统的研究与实现
发布时间:2023-05-19 00:38
随着web2.0技术的普及和飞速发展,互联网数据出现了爆炸性的增长,与之而来的是如何管理和利用如此大规模的数据信息,为此,众多研究机构和公司都提出了各自的分布式数据存储的解决方案。其中影响最大的莫过于开源的HDFS(Hadoop Distributed FileSystem),这项技术已得到学术界和工业界的认可,并被广泛应用开来。但是,HDFS技术一直存在着对于海量小文件不支持这一弊端,制约着HDFS技术的进一步发展。本文重在研究图片检索系统和中华字库工程中的海量小文件存储问题,针对这两个项目的需求,为切实解决问题,最终选择基于HDFS搭建海量小文件存储系统。以分析HDFS的结构特点为切入点,探讨其对海量小文件支持不理想的原因,探索分层索引方法来解决这一弊端。分层索引方法是一种基于小文件合并的方法,主要包括下边五个方面的内容。第一,分层索引方法通过将小文件合并为大文件,减少系统中存储文件的数目,达到降低NameNode内存开销的目的。第二,分层索引方法在合并中会产生出两个层次的索引文件,并通过分布式存储和集中存储相结合的方法管理索引文件。第三,分层索引方法将索引文件预加载到内存中,减少...
【文章页数】:58 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
1 绪论
1.1 研究背景
1.2 研究内容
2 分析
2.1 海量小文件存取的应用需求
2.2 海量小文件存储系统的性能需求
2.3 主流分布式文件系统
2.3.1 Lustre文件系统
2.3.2 MogileFS文件系统
2.3.3 FastDFS文件系统
2.3.4 TFS文件系统
2.3.5 HDFS文件系统
2.3.6 文件系统选择
2.4 基于HDFS的海量小文件优化方法
2.4.1 HBase
2.4.2 基于小文件合并成大文件方法
2.5 多Namenode方法
2.6 本章小结
3 分层索引方法设计
3.1 HDFS存储小文件的问题
3.1.1 存储耗时过长
3.1.2 内存开销过大
3.2 分层索引方法的设计思路
3.3 小文件合并机制与索引文件的结构
3.3.1 小文件合并机制
3.3.2 索引文件的存储结构
3.4 数据文件内容动态增加机制
3.5 索引文件存储和预加载机制
3.5.1 索引文件存储
3.5.2 索引文件预加载
3.6 数据预取机制
3.7 分层索引方法与其他小文件合并方法的比较
3.8 本章小结
4 基于分层索引方法的海量小文件存储系统实现
4.1 系统架构
4.2 小文件合并和索引存储机制的实现
4.2.1 小文件合并机制的实现
4.2.2 索引文件存储机制
4.3 数据文件内容动态增加机制的实现
4.3.1 NameNode端元信息创建流程
4.3.2 DataNode端数据文件创建流程
4.3.3 NameNode与DataNode的改进
4.4 索引文预加载机制的实现
4.5 存储系统操作流程
4.5.1 小文件存储流程
4.5.2 小文件读取流程
4.5.3 小文件删除流程
4.6 本章小结
5 系统性能评测与分析
5.1 实验环境
5.2 实验数据集
5.3 实验设计
5.3.1 实验测试指标
5.3.2 实验过程
5.4 实验对比
5.4.1 NameNode和DataNode内存使用对比
5.4.2 小文件存储性能对比
5.4.3 小文件读取性能对比
5.4.4 对分层索引方法的分析
5.5 本章小结
6 总结与展望
6.1 论文工作总结
6.2 下一步工作展望
参考文献
致谢
本文编号:3819313
【文章页数】:58 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
1 绪论
1.1 研究背景
1.2 研究内容
2 分析
2.1 海量小文件存取的应用需求
2.2 海量小文件存储系统的性能需求
2.3 主流分布式文件系统
2.3.1 Lustre文件系统
2.3.2 MogileFS文件系统
2.3.3 FastDFS文件系统
2.3.4 TFS文件系统
2.3.5 HDFS文件系统
2.3.6 文件系统选择
2.4 基于HDFS的海量小文件优化方法
2.4.1 HBase
2.4.2 基于小文件合并成大文件方法
2.5 多Namenode方法
2.6 本章小结
3 分层索引方法设计
3.1 HDFS存储小文件的问题
3.1.1 存储耗时过长
3.1.2 内存开销过大
3.2 分层索引方法的设计思路
3.3 小文件合并机制与索引文件的结构
3.3.1 小文件合并机制
3.3.2 索引文件的存储结构
3.4 数据文件内容动态增加机制
3.5 索引文件存储和预加载机制
3.5.1 索引文件存储
3.5.2 索引文件预加载
3.6 数据预取机制
3.7 分层索引方法与其他小文件合并方法的比较
3.8 本章小结
4 基于分层索引方法的海量小文件存储系统实现
4.1 系统架构
4.2 小文件合并和索引存储机制的实现
4.2.1 小文件合并机制的实现
4.2.2 索引文件存储机制
4.3 数据文件内容动态增加机制的实现
4.3.1 NameNode端元信息创建流程
4.3.2 DataNode端数据文件创建流程
4.3.3 NameNode与DataNode的改进
4.4 索引文预加载机制的实现
4.5 存储系统操作流程
4.5.1 小文件存储流程
4.5.2 小文件读取流程
4.5.3 小文件删除流程
4.6 本章小结
5 系统性能评测与分析
5.1 实验环境
5.2 实验数据集
5.3 实验设计
5.3.1 实验测试指标
5.3.2 实验过程
5.4 实验对比
5.4.1 NameNode和DataNode内存使用对比
5.4.2 小文件存储性能对比
5.4.3 小文件读取性能对比
5.4.4 对分层索引方法的分析
5.5 本章小结
6 总结与展望
6.1 论文工作总结
6.2 下一步工作展望
参考文献
致谢
本文编号:3819313
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3819313.html