黄呆毛
作者黄呆毛·2017-08-14 12:00
技术经理·某大型汽车集团

当我们说重删,我们说的是同一个重删吗?

字数 1559阅读 1756评论 1赞 5

重复数据删除已经不是一个新的话题了,如今各个厂商的存储或备份产品都有这项功能。不过,当我们在说重删时,我们是在说同一个重删吗?关于重删,其实还有很多细微的差别,今天小编就来讲一讲。

所谓重复数据删除,顾名思义,就是要把一些具有重复性的数据删除掉。重删是一个过程,其基本方法是通过算法,把一个文件切割成不同的小块,这些切割后小数据文件切片有很多是相同的,在真正在保存的时候,我们只要保存不同的数据块的一份,这是任何一个重复数据删除算法的根基。

640.webp.jpg

640.webp.jpg

不过,在这根基之上却有很多种重删

首先最简单的是文件级重删,这实际上可以不认为是一个重复数据删除,它只是一个重复数据忽略,因为它只会在文件级别进行扫描,比如文件的特性、文件的修改时间,保证每次只备份同一个文件。如果说这个文件做了一些小的修改,整个文件还是需要备份的,所以它的力度是非常低的。

接下来是块级重删,也就是之前讲的先要通过一个算法,把文件进行切割,切割成一个一个小的块,然后每个块进行比对。比对过后,只有不同的块才会被分走,这样可以保证重复数据会在子文件级进行相应的删除,从而提高每个文件相同的比率。然后被切割的这个文件,我们再附上一组指针表。这个指针图表上列出文件是由哪些小的块组成的,保证我们在还原的时候,通过这个基因图和相应的数据块,可以恢复任何的文件。

那么怎么样可以提高我们的重复数据删除率呢?就是这个块的大小,块切得越小,相应的重复数据就越多。比如我们切一个西瓜,西瓜上有很多西瓜子,把西瓜切得越小块,没有西瓜子的块就会越多。对重删来说这就是算法,而算法主要分两类:

定长重删。数据按照固定长度进行分块,之后进行重删。例入一个文件大小为128M,按照128K来切,切完就是一千份的子文件,然后对这一千份进行对比,把重复数据去掉就是定长重删。

变长重删。数据被划分成不同大小的块进行重删,一般来说变长重删可以获得更好的重删效果,因为对企业来说数据是不断更新的。比如定长重删下数据被切割形成一系列字母组合,由于数据变化插入了一个字母,因此整个数据的顺序就改变了,再按照128K切的话,对于备份软件来说所有行都是一个全新的数据块,所以要重新做备份。而变长重删可以保证其余的数据块不变,只在新增字母的块增加一个大小上限就可以了,因此变长重删效率更高。

按照重删处理的位置,这里也可以分为两类:

源端重删。在备份的时候,在备份端上agent就有重复数据删除的算法和功能,它可以在备份以前进行相应的切割和对比,只把一些新变化的数据传送到备份服务器上,这样可以大大降低备份数据量,在网络传输过程中的数据量也降低,这样可以降低整个备份网络的带宽要求,对企业来说也可以减少日常运维成本。

目标端重删。直接将数据传输到相应的磁带设备、磁带库或者是虚拟带库上,在目标端进行重复数据删除的算法、对比,然后把一些相应新的数据块元素和指针表也保留下来。

还有按照数据的重删执行的时间进行分类:

在线重删。备份的时候先做重复数据删除,在数据存储到硬盘之前,重复数据已经被去除掉了。

后重删。指的是在写到存储设备的同时不进行重删处理,先把原始数据写到硬盘上,随后启动后台进程对这些原始数据进行重删处理。与在线重删相比较,后重删需要更高的硬盘性能,需要更多的硬盘数量,并且在线重删可以大大降低数据的备份量和网络带宽的需求,因此效率更高。

640.webp (1).jpg

640.webp (1).jpg

好了,以上就是目前市场上主流的几种重删技术。其实今天小编为什么要讲这个话题呢,是因为听到了一个故事,说是某客户买了一款备份产品,虽然之前知道该产品有重删功能,但下单使用之后才发现重删效率和自己的预期有差异。所以,虽然大家都在说重删,但是具体采用何种重删技术?大家都要心中有数。

本文转自微信公众号:易安信EMC云计算与大数据

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

5

添加新评论1 条评论

郭强强郭强强系统工程师自由
2017-08-14 13:49
不错
Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广