【IT168 技术】重复数据删除技术(复删技术)现在已经从实验室走向产品化,并逐渐成为主流,从市场上不断增长的供应商数量可以得到印证,这些技术方案供应商已经有标准的重复数据删除产品,或在其备份产品中整合了这部分功能。
有数据显示,至少有30%的IT部门在部分数据上使用了重复数据删除技术,厂商也推出了换代产品,专门为简化和无破坏性部署做了优化,但这并不意味着每个解决方案都是一样的,大多数重复数据删除厂商都经过了一个学习曲线,无论是在经验,参考文档还是在技术支持方面都已经有了很大的积累。
文件级别复删技术消耗少
如果到现在你还不知道重复数据删除的作用,看来你在火星旅程已经经历了2,3个年头。
一般来说,重复数据删除技术是在子文件级发现冗余数据的一种方法,它用一个指针代替重复的数据,这项技术可以有效减少磁盘存储空间需求,并降低数据传输的网络带宽需求。
基于所采用的不同技术,数据是否重复可以有不同的检测方式,基于文件级的重复数据删除方法是最简单的。举例来讲,文件级的重复数据删除(亦称为实例存储,SIS)可以识别完全一样的文件,将其仅保存一次,并将后续完全一致的拷贝替代为指向该文件的一个指针。
文件级别的重复数据删除技术的劣势在于精细度不够,这意味着一个文件中即便有很小的一处改动也会被认为是一个全新的文件而另外储存。文件级别的重复数据删除一般用于邮件环境,这其中同样的附件会被同时发送给诸多参与者。
我们市场上可以看到的基于文件级别的重复数据删除技术有Novell公司的GroupWise和Microsoft公司的Exchange邮件系统(虽然在Exchange 2010中并不支持SIS)。EMC公司同样在其存储阵列上提供文件级别的重复数据删除,包括Clariion、Celerra和其最新的VNX系列。
不过,文件级别的重复数据删除并不适用于结构化数据环境中,这种环境下诸如数据库等会持续变化,重复数据删除的效果就会大大折扣。
数据块级别复删技术效率高
为了解决文件级别的重复数据删除技术缺乏精细度的特点,各厂商将数据分割成更小的“数据块”,以固定或变化的长度。只存储唯一性的数据段并将识别出重复的其它数据段的用指针方式代替,这样就能够实现更高的数据删除率。
在众多提供重复数据删除技术方案的厂商有CommVault公司、FalconStor公司和NetApp公司都是采用块级别重复数据删除技术的厂商;与之不同的,EMC收购的Data Domain、Avamar和Sepaton公司的产品都是基于长度变化的数据段的。这和数据块级别重复数据删除技术的不同之处在于,数据块的方式下,一个数据块的变化会引起整个数据集中所有数据块都被作为新的数据块存储,因为整个数据集变了。
在长度变化的数据段的重复数据删除技术下这种情况会好些,不过这种技术更为复杂并消耗很多资源。次文件重复数据删除技术(块级别或长度变化方式)在备份环境中经常使用,这种环境下多个文件备份版本通常仅包含很小的改动。
复删技术形式多样:在线/离线
复删技术从实现过程来划分又可分为在线(或称带内)方式,即数据在写入存储介质时分析是否有重复,以及相应的,离线处理(带外或称后处理)方式则在数据写入磁盘后再进行重复数据删除操作。离线的重复数据删除技术的优势在于其不会影响写入性能,不过这样就要求有足够的磁盘空间来存储所有数据,直到业务非高峰时刻时进行的重复数据删除操作。
另一方面,在线的重复数据删除技术可以在第一时间减少空间占用,不过其更耗资源,这有可能会影响写入的性能。采用在线还是离线处理方式对于实时数据减少和性能之间的权衡,不过随着技术的进步,性能减少的影响将更容易被接受。
在线重复数据删除产品包括FalconStor的产品,以及EMC的Data Domain和Sepaton,IBM公司的ProtecTier(之前的Diligent产品);而NetApp则提供带外的重复数据删除技术。
复删技术形式多样:源端/目标端
另外,基于复删技术处理的位置来划分我们有可以看到在源端(数据发出端)或者目标端(数据接受端)进行。区别在于所针对的备份环境,备份环境通常基于客户端/服务器模式(也有称之为发送端/接收端模式)。
源端复删实现方式是在备份客户端上安装软件,客户端和备份服务器都必须支持重复数据删除。这意味着在现有的备份环境中可能需要进行修改。与之对应,目标端重复数据删除通常不需要更改环境,支持重复数据删除的目标设备会被备份服务器认为另一台磁盘阵列或虚拟磁带库。
源端重复数据删除适用于降低所要通过网络传输的数据,如远程办公环境中备份至中心节点。权衡选择两种方式在于源端的重复数据删除会影响客户端的性能,并从而波及到整个备份环境,并且重复数据删除仅限于客户端级别的数据,而不会考虑多个备份客户端可能有相同的数据。
没有最好的方案 只有最适合你的方案
上面介绍了这么多的复删技术的分类和实现原理,我们您可以看出不同的技术实现手段其性能表现,需要的工作空间,对不同软件支持的难易程度,以及设置复制的难度也有所不同。但对于用户来讲就应该采用哪种技术不重要,关键是每个方法都有其优缺点,为了找到一个最适合自己环境的方法,首先应该从系统现在的瓶颈出发进行衡量,如你现在的媒体服务器利用率如何,以及你需要一个什么样水平的集成环境等等,最终只要能完美解决你现在面临的问题就好方案。