博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
重复数据删除:块级技术VS.字节级技术
阅读量:5952 次
发布时间:2019-06-19

本文共 1029 字,大约阅读时间需要 3 分钟。

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

块级技术

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

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

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

字节级重复数据删除

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

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

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

哪种方法效果最佳?

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

 
作者:佚名
 
来源:51CTO

转载地址:http://jnpxx.baihongyu.com/

你可能感兴趣的文章
nginx配置location总结及rewrite规则写法
查看>>
C语言第四次作业
查看>>
Java学习-集合的理解
查看>>
iOS验证码倒计时(GCD实现)
查看>>
iOS中的过滤器和正则表达式(NSPredicate,NSRegularExpression)
查看>>
java ee 5周 ajax
查看>>
canvas和svg
查看>>
结对:复利美化版
查看>>
HDU_2689_Sort it
查看>>
urllib模块使用笔记
查看>>
mysql 连接慢的问题(超过了1秒)
查看>>
1297. [SCOI2009]迷路【矩阵乘法】
查看>>
Linux嵌入式GDB调试环境搭建
查看>>
安全性测试要点转摘
查看>>
java分析jvm常用指令
查看>>
【Linux】Linux 在线安装yum
查看>>
oracle 管理操作 (转)
查看>>
DEV 等待窗口
查看>>
实验03博客园总结
查看>>
laravel captcha 验证码制作
查看>>