存储 频道

去重和压缩——数据简缩技术指南

  基于主存储的数据缩减技术

  压缩。压缩技术已经出现了数十年,但是压缩通常是针对那些存取频率不是很高的数据,这是因为数据的压缩和解压缩需要CPU进行非常密集的计算处理,这样往往会影响数据的访问。

  在企业级数据中心,压缩被广泛地应用在备份领域。现在的磁带机都可以在备份和恢复过程中动态地压缩和解压数据,我们看到压缩不仅没有减缓备份的速度,事实上还提高了备份的性能,这是怎么一回事呢?其秘密就在于磁带机使用了专用的芯片,能够以达到线速的性能对数据进行压缩和解压缩。通过压缩,数据减少了大约50%,相当于磁带机只需要将数据总量的一半写入到磁带,鉴于磁头是I/O的瓶颈,压缩实际上提高了磁带机的有效性能。

  与备份应用一样,压缩的优势同样体现在主存储系统中。有一些产品诸如Storewize公司的STN-2100和STN-6000,以及Ocarina Networks公司的ECOsystem,都支持在数据写入/读取过程中同步进行压缩/解压缩,如果它们能达到线速,就不会影响主存储系统的读写性能。压缩算法的效果与数据类型有一定关系,针对不同类型的数据,存储空间的需求可以减少30%~75%不等。压缩技术的优点是技术成熟、易于理解。缺点是它的处理机制仅限于单个文件之内,无法做到跨文件处理,这也限制了压缩技术简缩数据的能力。

  文件级去重。文件级去重即在文件系统中检查并判断两个文件是否完全相同。如果去重系统发现两个相同的文件,其中之一就会被指向另一个文件的指针所取代。这项技术的优点是不会影响数据的读取性能,而且用户打开文件时,也不需要进行解压缩或者数据重组,它只是简单地将多份访问请求链接到同一份数据。这种方法的缺点是效率问题,与压缩技术或者块级去重相比,它显然无法达到同样高的数据简缩比率。

  块级重复数据删除。这个方案与备份系统中使用的基于哈希值比对的重复数据删除非常相似。它将所有的文件分解成数据块,然后通过散列算法,为每个块创建一个哈希值,并与其他所有数据块的哈希值进行比对,如果两个不同数据块的哈希值完全一致,其中的一个块就会被删除,并用指向另一个块的指针来代替。

  针对某些数据类型,块级去重的数据简缩效果相当明显。其中,对虚拟机系统,尤其是桌面虚拟化系统的映像文件,块级去重的效果最为惊人。在这种环境下,将数据简缩掉75%甚至90%都很常见。在其他的应用环境中,数据简缩的效果与用户自己创建了多少重复的数据副本有一定关系。有一些用户会在他们所用的目录下保存文件的多个版本,比如他们在某一时刻将文件存盘,然后用不同的文件名再做一次存盘,他们知道,用这个方法,无论在什么情况下,都能恢复到以前的版本。但是,这种做法会导致一个文件有许多不同时间点的副本,而且用户很少回头去删除那些旧的文件版本。此外,有许多在一起工作的人可能会分别下载同样的文件,这些重复的数据都会存放在他们的共享文件夹中,这就是为什么块级去重经常是针对用户工作目录的原因。

  块级去重是全局处理模式,能够发现存储空间内所有的重复数据,无论数据以怎样的形式保存,这是它的优点。这种方法的缺点是,它分割的数据块较大。压缩则恰好相反,压缩是一种粒度级别更低的处理机制,比如,去重算法可能将数据块的大小定义为8KB,而一个优秀的压缩算法会将块的大小缩小到4KB。这就是为什么有一些数据简缩系统同时使用压缩和去重两种技术的原因。

  主存储数据简缩产品介绍

 去重和压缩——数据简缩技术指南(中)

0
相关文章