论文部分内容阅读
为了应对持续增长的数据存储需求,大规模分布式存储系统逐渐开始采用纠删码技术,以求在保证数据可靠性的前提下减少存储开销。现阶段,多数研究以退化读问题为主题,试图解决纠删码在数据恢复过程中所带来的大量网络开销。然而,如何调整传统副本方式下的数据块管理模式以更好的适配纠删码对块组织的特殊需求,这一问题并未引起足够的重视。这促使本文研究并提出一种基于纠删码的数据块管理模式—Ecobm,它综合考虑了副本与纠删码两种数据冗余技术的优势,分析了它们对块管理的要求,能够将纠删码技术平滑地集成到传统基于副本的系统中。在对典型分布式存储系统的文件存储规律和数据访问模式进行深入分析后,本文决定采用离线编码和连续式块布局方案;在编组策略上允许从全局选取数据块进行跨文件编组,并尽最大努力降低一个分组关联的文件数,以平衡管理成本和存储开销。为了形式化描述数据块的管理过程,本文对数据块生命期进行抽象建模,通过构建状态机指导数据块管理;对于纠删码分组中的块分布问题,则是将其映射到二分匹配模型中,应用匈牙利算法检测分布可靠性并给出具有最小数据传输量的重分布方案。在这一管理模式下,只有那些需要长期存储的不可变块才会被编码;此外系统还将通过一种名为RRA的结构对被编码块的实时热度进行追踪,并动态调整其副本数以使上层应用能获得更好的数据本地化程度。系统原型在HDFS基础上开发实现,对原型系统的测试结果表明,该数据块管理模式能有效降低系统存储开销,同时提高热点数据的本地化程度。实验环境下,相对于三副本方式200%的存储开销,原型系统即使在有大量小文件的存储场景中仍能将开销控制在87.1%以内;动态副本策略效果同样明显,它将PageRank、TF-IDF作业的运行时间降低到仅采用纠删码时的67%左右。