Chinaunix首页 | 论坛 | 博客
  • 博客访问: 499216
  • 博文数量: 294
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 4260
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-23 06:10
文章分类

全部博文(294)

文章存档

2011年(1)

2008年(293)

我的朋友

分类: 服务器与存储

2008-06-23 06:40:32

重复数据删除技术能够删除用户系统中大量的无用的冗余数据,因而为用户的存储与备份节约大量的空间成本。根据重复数据删除厂商的宣传,一些情况下,经过重复数据删除处理后的数据,精简比例可以达到30:1。

重复数据删除在实际实现方式上包括联机处理和后期处理两种类型。不同的厂商拥护不同的技术,开发不同的产品,也为这两种实现方式的优劣争论不休。实际上联机重复数据删除和后期处理重复数据删除技术只不过是技术实现方式的不同而已,而无孰优孰劣之分。而且我认为争论哪种方式更好就如同讨论同步复制和异步复制方式谁更好一样。两种方式各有长短。 重要的是何种方式能够更好地满足客户的数据备份需求。

以下我阐述了重复数据删除技术的这两种实现方式以及各自的技术特点,借此希望能消除人们的对这两种处理方式的误解,并对客户选购具备重复数据删除特性的备份设备时有所帮助。

首先,我简述一下两种方式的实现原理和过程。

联机重复数据删除技术(我觉得称之为同步方式更合适)

当大量的备份数据流到达具备重复数据删除技术的备份设备时,首先驻留在内存里,重复数据删除引擎开始对先到的备份数据进行辨识,判断是否存在已保存过的数据块。 如果有,则写入一个指针来代替实际数据块的写入过程。如果没有,则写入该新数据块。任务结束。

采用这种方式进行重复数据删除工作,可以显著降低I/O的开销,因为大部分工作是在RAM内完成的。只是在做哈希算法查找重复的数据块时产生了少量的磁盘操作(只有一家厂商声称他们的哈希查找也是在RAM内完成的)。

某些重复数据删除产品还需要花费额外的时间,对于在原有数据块中初步已判断重复的数据块进行读操作,在字节级别确认匹配后才会舍弃。假设重复数据删除比为10:1,那么95%的处理时间只是对于重复的数据块进行一次写操作,用来更新哈希表就可以了,对于冗余的数据块丢弃即可而无需对磁盘进行其他任何写操作。剩余5%的时间用来将那些唯一的数据块写入磁盘并更新哈希表。

后期处理重复数据删除技术(我觉得称之为异步方式更合适)

当备份开始向备份设备传输备份数据流时,会将整个备份数据量作为一个整体来传送。 然后启动单独的进程开始读取已写入磁盘的数据块,开始重复数据删除处理过程(该过程通常由另外一个设备执行,访问备份数据已写入的磁盘),如读入的数据块和已的数据块重复了,则用指针替代该数据块,如果没有重复,则将该新数据块留在磁盘上,而无需任何其他操作。

这种处理方式比联机处理方式显然需要更多的I/O操作。首先,后期处理方式要求进行所有备份数据块的写入操作。 然后,还需要对写入的所有数据块进行再读入操作,并与哈希表记录进行对比查找重复的数据块,这就需要额外的磁盘读操作。某些厂商的产品还要求进行再次的读操作来确认数据块在字节级别的重复。如果确认了重复的数据块,需要进行删除重复的数据块的写操作,另外还需要发起更新哈希表的写操作,该过程占用了整个处理过程95%的时间。余下5%的时间用来处理那些不匹配的数据块,同样需要对哈希表进行更新写操作。

下表总结了两种处理方式的技术特点:

*某厂商宣称他们可以将哈希表保留在RAM内,这样就无需执行磁盘读操作来检查哈希表了。

各有长短的两种方式

所有的人都同意只有当重复数据删除处理过程结束后,整个备份任务才算完成。

从以上的技术对比表中,我们可以知道采用联机重复数据删除方式,整个处理过程所需的I/O操作最少。采用联机处理方式的厂商认为后期处理方式会导致备份时间延长。但是联机处理方式必须非常仔细地进行调优处理,保证它的重复数据删除速度足够快,从而不至于造成进入备份设备的备份数据流拥塞,而无法继续执行备份任务。

后期重复数据删除技术的强项在与它将整个处理过程进一步分解为两个独立的处理过程,而且在重复数据删除处理过程中可以利用更多的处理资源(添加额外的主机)来加快处理过程。但是,这种方式在整个处理过程中涉及到的I/O操作太多,这是它不利的一方面。

如果你的备份速度足够快,而且整个备份及重复数据删除过程所耗费的时间没有超过备份窗口的要求,你会介意采用何种重复数据删除技术方式吗?我认为不会。这也是为什么我认为争论何种方式更好没有实际意义的原因。关键是看哪种处理方式更适合你实际的备份需求。当然,我建议用备份环境中最大的备份负荷来进行测试。

如果你购买的备份设备能够满足你备份任务的需求,谁会介意具体采用的是哪种技术呢?我认为备份管理员应该重点考虑备份的速度、容量和成本等问题,而不是过于关心联机处理或者是后期处理方式。其他需要考虑的问题还包括:备份设备是否易于安装配置,是否支持主流的备份管理等。

确切地说,备份设备不会因为采用了何种重复数据删除方式从而使整个备份进度加快,具体要看设备供应商是如何实现备份处理过程的。采用两种方式的设备都存在截然不同的备份记录。所以不要太在意某些厂商所强调的,诸如他们的备份设备中采用的重复数据删除方式是最快的、最好的等这类的市场用语,我倒觉得由于两种处理方式各具千秋,如果能够在一台备份设备中集成这两种处理方式,让用户自己在实际备份环境中去选择最适合的方式,倒不失为一种明智的解决方案。

阅读(437) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~