重复数据删除技术极大地提高了基于磁盘数据保护的价值,也极大地改进了基于广域网的远程和分支办公室备份整合和灾难恢复策略。该技术标识出重复数据,消除冗余,从而减少了传输和存储的数据量。
有些重复数据删除技术在文件级进行操作,其余的更深入地在子文件,或者块级别检查数据。毋庸置疑的是,在文件级或块级别上寻找唯一性数据都将带来益处,但结果将不尽相同。区别在于每种方法在消除重复数据的数量和它们在寻找唯一数据上所花费的时间。
文件级的重复数据删除
虽然通常被称作单实例存储(SIS),文件级的重复数据删除技术通过将文件的属性作为索引,对比将要备份或存档的文件与已经存在的文件。如果这个文件是唯一的,它将被存储起来并更新它的索引;如果已经存在,仅有一个指向已有文件的指针被存储。结果是,只有一个文件实例被保存,而随后的副本都由一个指向实际文件的标签所替代。
块级别的重复数据删除
块级别的重复数据删除是在子文件级别进行操作。正如其名,文件被拆分为片段——数据块或数据片,对这些文件块进行冗余检查,将其与已经存在的信息进行比对。
确定冗余数据最常用的方式是使用哈希等算法为数据指定一个唯一标识,生成一个唯一ID或数据块的“指纹”。将这个唯一的标识与一个中央索引服务上的标识进行对比。如果ID已经存在,说明对应的数据块已经被处理过并已经存储。因此,只需要保存一个指向先前已存储数据的指针。如果这个ID没有重复,那么这个数据块是唯一的。将该ID加到中央索引中,并存储这唯一的数据块。
每个供应商检查的数据块的大小各不相同。有的检查固定大小的块,而有的检查可变大小的块(甚至使其变得更混乱,极少的供应商允许终端用户改变检查块的大小)。固定块的大小可以在8KB到64KB之间,大小不同的区别在于,块越小,越有可能被标识为冗余。这也意味着,能够更大的冗余消除和更少的数据存储。检查固定大小块的唯一问题在于,如果一个文件被修改,而删除数据冗余产品使用与上一次检查相同的固定大小块,就有可能发现不了重复片段,因为当文件中的数据块被改变或移动时,他们会改变下文,抵消了其他地方的比较。
在文件被修改后,可变大小的块增加了重复数据被检测出的几率。这种方法发现文件中可能发生的自然模式或断点,然后将数据分成响应的片段。甚至当文件发生变化引起数据块也发生改变时,这种方法更有可能找出重复数据片段。如何权衡?可变长的这种方法可能需要供应商对一个数据片段的唯一ID进行多次跟踪和比较多次,这将会导致索引量和计算时间的增加。
文件级和块级别的重复数据删除技术的区别仅仅在于他们的实现方式。下面给出了两种方式各自的优缺点。
文件级的方法比块级别的重复数据删除方法效率低:
文件中的任何改变都将引起整个文件的重新保存。一个文件,如PowerPoint演示文件,可能会进行一些如标题页变换这样简单的修改,以反映新的报告人或数据,这将引起整个文件再一次保存。块级别的重复数据检查可以只保存新版本相对于旧版本进行了修改的数据块。
文件级的重复数据比例可能是5:1或者不到,而块级别的重复数据删除已被证实为20:1到50:1。
文件级的数据重复检查方法比块级别的数据重复检查更高效:
文件级重复数据删除的索引明显比块级别方法的索引要少,这样,在数据重复确定时所需要耗费的计算时间更少。备份功能也因此在重复数据删除过程中受到更小的影响。
文件级的处理需要更少的处理过程,因为它的索引数更少,而且数据比较次数也更少。因此,对系统执行检查以及恢复时间的影响也更少。块级别的重复数据删除将需要基于主索引进行数据块“重组”,主索引标识了唯一数据片段和指向该数据片段的指针。由于文件级的重复数据删除存储的是唯一的文件和指向已存在的唯一文件的指针,这种方法很少需要重组。