重复数据删除

数据处理技术,用以消除重复数据的副本

重复数据删除(英語:data deduplication)是一种节约数据存储空间的技术。在计算机中存储了很多重复数据,这些数据占用了大量硬盘空间,利用重复数据删除技术,可以只存储一份数据。另外一项节约存储空间的技术是数据压缩,数据压缩技术在比较小的范围内以比较小的粒度查找重复数据,粒度一般为几个比特到几个字节[需要解释]。而重复数据删除是在比较大的范围内查找大块的重复数据,一般重复数据块尺寸在1KB以上。[1]重复数据删除技术被广泛应用于网络硬盘电子邮件磁盘备份介质设备等。

功能原理

例如,典型的电子邮件系统可能包含100个1 MB(兆字节)的相同文件附件实例。邮件平台每次进行备份时,将保存所有附件实例,所需100mb的存储空间。使用重复数据删除技术后,实际上只存储一个附件实例,后续所有实例被引用回保存的副本,重复数据删除比大约为100:1。通常情况下,重复数据删除与数据压缩能一起使用以节省额外存储空间——首先运用重复数据删除技术消除重复数据的大块,然后使用压缩对每个存储部分进行高效编码。[2]

在计算机代码中,重复数据删除通过将信息存储在变量中,每次更改只需更改一个中心引用位置,不需要单独写入。相关例子包括CSS类和MediaWiki中的命名引用。

优点

  • 节约硬盘空间:由于不必存储重复数据,因此大大节约的磁盘空间。
  • 提升写入性能:数据写入存储设备的主要性能瓶颈在于硬盘,由于硬盘是机械设备,一般单块硬盘只能提供100MB/s左右的连续写性能。在线重复数据删除在数据存入硬盘之前就把重复的数据删除掉了,因此存入硬盘的数据量变小了,数据的写入性能也就提高了。例如:DataDomain重删备份介质设备就采用在线重删技术,因此数据写入性能较好。
  • 节约网络带宽:对于使用了源端重删技术的应用来说,数据上传到存储设备之前,已经去掉了重复的数据块,因此重复的数据块不需要经过网络传输到存储介质,从而节约了网络带宽。例如:Dropbox就采用了源端重删技术,因此占用网络带宽很小,还有开源的数据同步工具rsync也采用了源端重删技术节约网络带宽。

分类

按数据处理时间重复数据删除可以被分为:

在线重删

在线重删(Inline Deduplication)指的是在数据存储到存储设备上的同时进行重复数据删除流程,在数据存储到硬盘之前,重复数据已经被去除掉了。

后重删

后重删(Post Deduplication)指的是在写到存储设备的同时不进行重删处理,先把原始数据写到硬盘上,随后启动后台进程对这些原始数据进行重删处理。与在线重删相比较,后重删需要更高的硬盘性能,需要更多的硬盘数量。

按照数据处理粒度可以被分为:

  • 文件级重删
  • 块级别重删

按照数据块分块方法,可以分为:

  • 变长分块重删
  • 定长分块重删

按照数据处理位置,可以分为:

  • 源端重删
  • 目的端重删

参考文献

  1. ^ "Understanding Data Deduplication页面存档备份,存于互联网档案馆)" Druva, 2009. Retrieved 2013-2-13
  2. ^ Crocetti, Paul; Bigelow, Stephen J. Compression, deduplication and encryption: What's the difference?. SearchDataBackup. [2022-10-01]. (原始内容存档于2022-12-14) (英语). 

外部链接