块级重复数据删除

块级重复数据删除

多年以前的重复数据删除技术,可以看作是文件级的技术,当时称之为“单一实例存储(Single Instance Store,SIS)”,通过SIS技术,整个文件系统或电子邮件系统的重复文件可以被减少为单一的拷贝,当再出现这一文件时,会被指向到这一单一拷贝,从而减少容量需求。这一技术通常被用于电子邮件管理及归档系统。
今天的重复数据删除技术利用了与SIS类似的数据缩减概念,但却使之向前迈进了一大步 – 实现了块级(子文件)重复数据删除。当读取数据时,系统利用Hash算法识别唯一的数据块,系统将保留Hash索引,每个Hash编码指向一个不同的数据块。当新的备份发生时,会自动的与现有的块进行比对,如果索引中已经有相同的块,数据将会被删除或被指向块的指针所代替;反之,则会被保存并在索引中为其创建一个新的Hash编码。这里提到的唯一数据块的大小,会根据用户选择的不同的重复数据删除解决方案而不同,平均大小在4KB-24KB之间。
与文件级SIS技术相比,块级的重复数据删除技术可以说更具优势。它可以在不同的文件或应用中消除冗余数据块。比如,如果一个文件只做了想当小的一点修改并保存,块级重复数据删除技术则将只保存发生变化的数据块。按这种方式,块级重复数据删除可以提供更好的压缩比率,特别是应用于巨大数据量的情况下,如数据库或全备份之后。
下面的例子进一步说明了SIS和块级两种重复数据删除技术的结果比较。
一个企业向1000个邮件地址发出一封带有注册内容的活动邀请函,传统的备份应用将会把文件备份1000次。SIS解决方案可以识别出文件是相同的,将只会保留一份备份,然后生成999个指针指向那个唯一的备份,因此,大概节省了99.9%的空间。但是,之后这1000个参会人可能会将注册内容填好后回复给发件人,由于他们的名字不同,SIS解决方案就会备份1000份回执。
块级解决方案在发出邀请函的时候执行了相同的重复数据删除处理,也实现了99.9%的存储空间节省。但是,当收到1000份参会人的回执时,块级解决方案会发现每个回执的大部分内容与第一封收到的是相同的并已经备份过,因此,它只会对其它999封回执的相异数据块(块级)进行备份。这种方法与SIS技术相比,则还可以节省额外的99.9%的存储空间。