● 摘要
近年来,社交网站和电子商务等网络服务发展迅速,这类服务通常需要存储大量图片、短音乐、微博文本等小文件。传统的分布式存储系统,如HDFS,是面向大文件而设计的,在存储小文件时会产生元数据开销过大、访问延迟较高等问题,不能适应存储大量小文件的应用场景。
本文调研分析了HDFS的HAR方案、CMU GIGA+方案、Amazon Dynamo、Facebook Haystack等用于海量小文件或处理海量目录项的分布式系统或方案,并深入调研了淘宝文件系统(Taobao File System, TFS),阅读了TFS的核心实现,重点分析了TFS的系统架构和读写流程。本文发现TFS在每次读/写过程中至少要建立3次网络连接,同时TFS使用了重量级的MySQL数据库用作实现文件系统元数据服务,这些设计给TFS带来了较高的延迟。
针对此问题,本文提出了一种新的低延迟、高可用的面向海量小文件的分布式存储方案,该方案简化TFS读写文件的流程,使用了灵活的目录项存储方式,并实现了一个面向海量小文件的分布式存储系统SFFS(Small-File File System)。
本文对SFFS进行了功能测试和性能测试。功能测试表明,SFFS能够支持创建目录、创建目录项等目录功能,SFFS也能够实现多副本,即将文件正确写入不同的存储节点并正确读取出来。性能测试表明,SFFS平均读延迟相比于TFS降低了11.05%~36.6%,平均写延迟降低了8.97% ~18.92%。本文对SFFS系统结构进行了分析,相比于TFS,SFFS的中心节点负载更轻、失效恢复更快,因而在可用性方面更有优势。
相关内容
相关标签