#Debup的纠删码应用
论文名字:CodePlugin: Plugging Deduplication into Erasure Coding for Cloud Storage.
#简介
当前云存储系统发展迅速,在一个系统中发生磁盘故障的也不再是例外,因此不少系统采用纠删码保护数据免于丢失;同时数据量的增大导致冗余的数据越来越多,一种常见的减少数据冗余的方式是采用dedup方式。 本文将dedup应用于纠删码的云存储系统中,不仅减少了存储开销(冗余的数据块以及冗余数据块引起的编码块都不需要额外存储),同时还减少了编码的开销(很多冗余的数据块不需要进行编码)。实验结果表明:减少存储开销17%,提升编码吞吐率20%
#思想主要分三步走:
##1,Dedup重复数据删除
本文采用固定块大小的dedup方案,将整个文件切成固定大小的数据块,然后对每一个数据块计算一个hash值,并将此hash值存入到hash表格中。 它并没有采用全局dedup方案,使用了cache来存储unique的hash指纹。对于新到来的数据块,计算hash值,与cache中的指纹比较,如果相同,则表明此块是重复数据块,否则不是。
举例:
如上图所示,如果文件采用RS(4,2)编码,那么一个文件会被切分为4个子文件(sub-file), 例如上面的fid=0的文件,被切分成4个子文件,每一行代表一个子文件,同时每一个子文件有4(注意,这个是巧合,也许可能有8个,10个ÿ