论文部分内容阅读
随着互联网的普及以及移动互联网的快速发展,人类每年产生的数据越来越多,据统计全球数据信息每年的增长率到达了每年30%以上。现在,人类每天产生的数据要以PB来计算,数据类型从微博、照片、博客、日志等各式各样。近几年增长的数据要更快,这些新增的数据有相当一部分需要被持久化存储到硬盘上。单机文件系统如ext3、ext4以及网络文件系统文件系统(NFS),远远不能满足实际存储需求。这个时候分布式文件系统应运而生,可以存储几十到几百PB的数据。分布式文件系统基本上采用的都是典型的三方架构,即由元数据服务器(nameserver),数据服务器(dataserver)和客户端(client)组成。元数据服务器存储着整个系统的元数据信息,是最关键和复杂的部分,面临C10K、C100K问题。如何设计一个高效稳定的元数据服务器对于一个分布式文件系统来说至关重要。本课题设计并实现了分布式文件系统RaccoonFS的元数据服务器,研究并解决了分布式文件系统名字空间的由于锁竞争带来响应速度低下的问题,提出了一种新的名字空间管理方法:元数据服务器在处理数以万计的客户端连接时,往往出现效率低下甚至完全瘫痪,怎么提升元数据服务器在高并发读写下的性能成为了一个非常重要的设计内容。RaccoonFS采用了B+树的方式来管理名字空间,并且在B+树上实现了写时拷贝(Copy on Write)和多版本并发控制(Multi Version ConcurrencyControl),从而达到读写分离、写写并发,极大的提高了读写的性能,规避了对B+树读写操作上锁带来的性能开销。在测试部分,论文选取了三组测试对象:HDFS(Hadoop Distribute File System)名字空间管理方法、实现了COW的B+树名字空间管理方法、实现了COW和MVCC的B+树名字空间管理方法。实验结果表明实现了COW的B+树管理方法在读写的响应速度方面较HDFS名字空间管理方法有了30%以上的提高,实现了COW和MVCC的B+树名字空间管理方法在写响应速度方面较只实现了COW的B+树名字空间管理方法有了10%以上的提高。测试表明,采用COW和MVCC的B+名字空间管理方法,可以有效提高名字空间管理效率。