解答有关重复数据删除的七大疑问(一)
一、什么是重复数据删除技术?
重复数据删除技术的含义就是存储数据时,检查和比较已存在的数据。如果它们是相同的,那就过滤掉这部分数据的备份,然后通过指针引用已存在的数据。重复数据删除技术对备份这样的应用是非常突出的,同时也产生了大量重复数据删除技术的副产品。这些应用都是重复数据删除技术首选的目标。
我们来举个例子,说明一下如何使用一个支持重复数据删除技术的产品,当我们要通过Exchange邮件服务器将一个具有相同附件的邮件发给20个接收者的时候,我们就可以只保留附件的第一个实例,然后其他的接收者可以通过不同的指针指向第一个实例来看这个附件。
在这种方案设计下,不同文件的许多部分都可以像那样只存储一次。举个例子,如果一个文档的前几行包含这个文档的路径名,那么这个路径通常和这个文件夹中其他所有文档的具有相同的名字。
如果这个路径名只有40个字符长,并且前29个字符和其他所有文件的是一样的,所以所有的这些文件的前29个字符将只保留一个实例,其他都用指针来代替。因为许多类型的文件,其架构原理都是相似的,像PowerPoint 和PDF文档都很可能包含许多和原始的Word文档相似的文本,并且这些相似的字符串在许多文档中循环使用。
二、重复数据删除技术实施上有何不同?
重复数据删除技术可以执行在文件、数据块以及数据子块的级别,当然也有一些厂商把它们叫做"blocklet"、"chunklet",数据每一个chunk的尺寸越小,重复数据删除技术的效果就越明显,但是额外的进程和较大的数据库都会增加其相应的成本。
如果重复数据删除执行在文件一级别,那么全部的文件必须作相同的重复删除处理;如果执行在数据块一级别,那么不管数据块大小为512字节或者4096字节,全部的数据块也必须同等的被指针所替代;如果执行在blocklet级别,那么只有少数的24个字符能够被同等的指针所替代,从而达到最大、最有效的压缩比。
达到这种不断减少的效果最关键的是,使用索引和进程来存放一些大量的短字符串占用的空间要远大于使用短指针替代重复的字符串占用的空间,而且越来越大。
除了以上介绍的几种重复数据删除技术处理的级别,还有一种通过虚拟磁带库进行重复数据删除处理的方式,这种方式其他技术相比最主要的不同是,它像数据移动一样,不管数据在传输过程中是否进行了重复数据删除处理,都将移动到虚拟磁带库中,然后在其内部进行重复数据删除的操作,或者说是进行后处理操作。
在这些不同的实现的基本方法中,最粗略的分类可以分为两类:一种情况,你先接收到所有的数据并他们写入磁盘,然后将来的某个时候通过重复数据删除处理将这些数据重新读取并处理一次,另外一种情况是当接收数据的时候就直接进行及时地内部处理以达到重复数据删除的处理。这就是大家常说的在线处理和后处理。
三、在线方式和后处理方式的重复数据删除处理技术各有哪些优劣?
在线方式的重复数据删除处理在性能方面是很难达到一个很好的效果的。但是如果你能够达到很好的性能,那么这将对你的应用非常有利。因为一旦你完成了重复数据删除的这部分处理工作,你的全部工作也就完成了。这也就意味着没有太多的负载并且你也不必为后续工作的容量计划而费神,也不用关心哪些资源本应该是可利用的。
相反的,对于后处理方式的重复数据删除处理,当你的数据通过备份应用软件保存到磁盘时,没有过度的负载消耗,但是在这之后用户就需要关心一下他们的数据,因为在这之后还有很多对性能有影响的后处理工作需要完成。
当你看完以下的内容时,你就非常容易理解了。后处理方式的重复数据删除处理会导致磁盘子系统的活动情况就像副产品一样迅速增长。最简单的原因就是你必须把所有的数据都写入磁盘,然后再进行读取和其他操作。因此这大量的数据库数据及其索引信息是让人非常头疼的,它也使整个处理过程变得非常缓慢。
由于这些原因我们可以断定,如果你在线方式的重复数据处理可以达到300-400MB/s的话,你就不要考虑使用后处理方式的重复数据删除技术,因为这会导致你的磁盘处在一个高I/O负载的环境,它会使你的系统性能降低。
早期的一次beta测试支持的结果显示,当你有一个非常大的数据量需要处理的时候,我们的后处理技术就显得非常缓慢。这个非常大的数据仓库,尤其是使用基于哈希算法的方式的时候,它会导致许多索引和目录难以置信的活跃,影响整体的性能。我们所说的大数据量,都是20、30或40TB的数据。
etsme是采用云计算原生技术打造的个人私有云/小型私有云产品,即刻入手etsme,探索更多贴心功能,掌控自己的数字世界。