重复数据删除技术的发展及应用
扫描二维码
随时随地手机看文章
标签:消冗 散列识别
重复数据删除也称为智能压缩或单一实例存储,是一种可自动搜索重复数据,将相同数据只保留唯一的一个副本,并使用指向单一副本的指针替换掉其他重复副本,以达到消除冗余数据、降低存储容量需求的存储技术。
本文首先从不同角度介绍重复数据删除技术的分类,然后分别介绍相同数据重复数据删除技术和相似数据重复数据删除技术,并介绍重复数据消除的性能提升方法,最后分析重复数据技术的应用场景。
1 重复数据删除技术的分类
1.1 基于重复内容识别方法的分类
(1)基于散列识别
该方法通过数据的散列值来判断是否是重复数据。对于每个新数据块都生成一个散列,如果数据块的散列与存储设备上散列索引中的一个散列匹配,就表明该数据块是一个重复的数据块。Data Domain、飞康、昆腾的DXi系列设备都是采用SHA-1、MD-5等类似的散列算法来进行重复数据删除。
基于散列的方法存在内置的可扩展性问题。为了快速识别一个数据块是否已经被存储,这种基于散列的方法会在内存中拥有散列索引。随着数据块数量增加,该索引也随之增长。一旦索引增长超过了设备在内存中保存它所支持的容量,性能会急速下降,同时磁盘搜索会比内存搜索更慢。因此,目前大部分基于散列的系统都是独立的,可以保持存储数据所需的内存量与磁盘空间量的平衡。这样的设计使得散列表就永远不会变得太大。
(2)基于内容识别
该方法采用内嵌在数据中的文件系统的元数据识别文件,与其数据存储库中的其他版本进行逐字节地比较,找到该版本与第一个已存储版本的不同之处并为这些不同的数据创建一个增量文件。这种方法可以避免散列冲突,但是需要使用支持该功能的应用设备以便设备可以提取元数据。
(3)基于ProtecTier VTL的技术
这种方法像基于散列的方法产品那样将数据分成块,并且采用自有算法决定给定的数据块是否与其他数据块的相似,然后与相似块中的数据进行逐字节的比较,以判断该数据块是否已经被存储。
1.2 基于去重粒度的分类
(1)全文件层次的重复数据删除
以整个文件为单位来检测和删除重复数据,计算整个文件的哈希值,然后根据文件哈希值查找存储系统中是否存在相同的文件。这种方法的好处是在普通硬件条件下计算速度非常快;这种方法的缺点是即使不同文件存在很多相同的数据,也无法删除文件中的重复数据。
(2)文件块消冗
将一个文件按不同的方式划分成数据块,以数据块为单位进行检测。该方法的优点是计算速度快、对数据变化较敏感。
(3)字节级消冗
从字节层次查找和删除重复的内容,一般通过差异压缩策略生成差异部分内容。字节级消冗的优点是去重率比较高,缺点就是去重速度比较慢。
1.3 基于消冗执行次序的分类
(1)在线式消冗
在线处理的重复数据删除是指在数据写入磁盘之前执行重复数据删除。其最大的优点是经济高效,可以降低对存储容量的需求,并且不需要用于保存还未进行重复数据删除的数据集。在线处理的重复数据删除减少了数据量,但同时也存在一个问题,处理本身会减慢数据吞吐速度。正是因为重复数据删除是在写入到磁盘之前进行的,因此重复数据删除处理本身就是一个单点故障。
(2)后处理式消冗
后处理的重复数据删除,也被称为离线重复数据删除,是在数据写到磁盘后再执行重复数据删除。数据先被写入到临时的磁盘空间,之后再开始重复数据删除,最后将经过重复数据删除的数据拷贝到末端磁盘。由于重复数据删除是数据写入磁盘后再在单独的存储设备上执行的,因此不会对正常业务处理造成影响。管理员可以随意制订重复数据删除的进程。通常先将备份数据保留在磁盘上再进行重复数据删除,企业在需要时可以更快速地访问最近存储的文件和数据。而后处理方式的最大问题在于它需要额外的磁盘空间来保存全部还未删除的重复数据集。
1.4 基于实现层次的分类
(1)基于软件的重复数据删除
在软件层次,重复数据删除可以有两种集成方式,即可以将软件产品安装在专用的服务器上实现,也可以将其集成到备份/归档软件中。基于软件的重复数据删除的部署成本比较低;但是基于软件的重复数据删除在安装中容易中断运行,维护也更加困难。
基于软件的重复数据删除产品有EMC公司的Avamar软件产品、Symantec公司的Veritas NetBackup产品以及Sepaton公司的DeltaStor存储软件等。
(2)基于硬件的重复数据删除
基于硬件的重复数据删除主要由存储系统自己完成数据的删减,例如:在虚拟磁带库系统、备份平台或者网络附加存储(NAS)等一般目的的存储系统中融入重复数据删除机制,由这些系统自身完成重复数据删除功能。
基于硬件的重复数据删除的优点是高性能、可扩展性和相对无中断部署,并且重复数据删除操作对上层的应用都是透明的。这种设备的缺点就是部署成本比较高,要高于基于软件的重复数据删除。