且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

重复数据删除:块级技术VS.字节级技术

更新时间:2022-10-02 16:50:46

 重复数据删除技术能够识别重复的数据,消除冗余,减少需转移或存储的数据的总体容量。在本文中,我将分别对这两种技术加以评论。与块级技术相比,字节级删除技术对数据的检查更加细微,精度更高,但同时需要更加了解备份流,才能完成任务。

块级技术

块级重复数据删除技术将数据流分割成块,检查数据块,并判定之前是否碰到相同的数据块(通常对每个数据块执行散列算法,形成数字签名或独特的标识符)。如果数据块是唯一的,就被写入磁盘,其标识符也存入索引中;否则,仅存入指针,指向存储相同数据块的原始位置。这种方法用小容量的指针替代重复的数据块,而不是将重复数据块再次存储,这样就节省了磁盘存储空间。

块级技术的缺点为:1)利用散列算法计算独一无二的ID,可能产生错误;2)将唯一的ID存入索引中,当索引扩大,需要磁盘I/O时,检查过程就会变慢(除非控制索引大小,在存储器中完成数据比较工作)。

利用散列算法判断重复数据时,散列之间的冲突可能引发错误。MD5、SHA-1等散列算法都是针对检查的数据块,形成唯一的编码。虽然有可能发生散列冲突和数据损坏,但几率较小。

字节级重复数据删除

从字节级别上分析数据流是重复数据删除的另外一种方法。将新数据流和已存储的数据流挨个比较字节,能够实现更高的精度。使用这种技术的重复数据删除产品具有一个共同点:可能之前已见过流入的数据流,因此就会检查其是否与之前接收的数据相符。

采用字节级技术的产品通常能“识别内容”,也就是说,供应商对备份程序的数据流执行了逆向工程,从而了解如何检索文件名、文件种类、日期/时间戳记等信息。在判断重复数据时,这种方法能够减少计算量。警告呢?这种方法通常在后处理阶段发挥作用——备份完成后,判断备份数据是否重复。因此,需要备份整个磁盘的数据,必须具有磁盘缓存,才能执行重复数据删除过程。而且,重复数据删除过程可能仅局限于某个备份组的备份数据流,而不是应用到整个备份组中。

完成了重复数据删除过程后,字节级技术能收回磁盘空间。在收回空间之前,应执行一致性检验,以保证删除重复数据以后,仍能满足原始数据的目标。保留最后一次的完全备份,这样恢复过程就不必依赖重构后的数据,加快恢复过程。

哪种方法效果***?

块级和字节级删除技术都能优化存储容量。针对你的备份环境及其需求,核定执行删除过程的时间、位置和方法,然后再决定选择哪种方法。核定内容还包括:参考那些与你的公司具有相似特征和需求的公司。

 作者:佚名
 
来源:51CTO