这篇文章基于现有的SNIA材料,描述了重复数据删除流程可以进行的几个不同的地方;探讨了压缩与单实例文件以及重复数据删除之间的不同点;研究了次文件层重复数据删除执行的几个不同方式。它同时还解释了哪种类型的数据适合重复数据删除,以及哪些不适合。
介绍
重复数据删除已经成为存储行业非常热门的话题和一大类商业产品。这是因为重复数据删除可以大幅减少购置和运行成本,同时提高存储效率。随着数据量的爆炸性增长,接近一半的数据中心管理员都将数据增长评为三大挑战之一。根据最近的Gartner调查结果,重复数据删除可以减轻存储预算的压力并帮助存储管理员应对数据的增长。
虽然重复数据删除主要被视为一种容量优化技术,不过该技术也可以带来性能上的好处--随着所需存储的数据的减少,系统所需迁移的数据也减少。
重复数据删除技术可以应用在数据生命周期上的不同点上:从来源端重复数据删除,到传输中重复数据删除,一直到存储目标端重复数据删除。这些技术还可以应用在所有的存储层上:备份、归档和主存储。
重复数据删除的解释
无论使用哪种方式,重复数据删除就是一个在不同层次的粒度性上识别重复数据并将重复数据替代为指向共享复件的指针的过程,这样可以节约存储空间和迁移数据所需的带宽。
重复数据删除流程包括跟踪并识别那些被删除的重复数据,以及识别和存储那些新的和独一无二的数据。数据的终端用户完全不会感到这些数据可能已经被执行重复数据删除流程并已经在其数据生命周期中被重建许多次。
对数据进行重复数据删除操作有几种不同的方式。单实例存储(SIS)是在文件或块层次上进行重复数据删除。重复副本会被一个带着指针的实例所取代,而指针则指向原始文件或对象。
次文件层重复数据删除的操作粒度则比文件或对象更小。这种技术有两种常见的方式:固定块重复数据删除--数据被分解成固定长度的部分或块;可变长度重复数据删除--数据根据一个滑行的窗口进行重复数据删除。
数据压缩是对数据进行编码以减小它的大小;它还可以用于那些已经被重复数据删除的数据以进一步减少存储消耗。重复数据删除和数据压缩虽不同但互补--例如,数据可能重复数据删除的效率很高但是压缩的效率很低。
此外,重复数据删除数据可以在线执行;也就是说,在数据被写入目标端的时候进行重复数据删除操作;当然,重复数据删除也可以以后处理的方式执行,也就是在数据已经被写入并存储在磁盘上的时候执行。
举个一个简化的重复数据删除例子,我们有两个由块组成的对象或文件。下图显示了这些对象或文件的情况。对象或文件可以是可变的或基于窗口的部分、固定块或文件集合--可以应用同样的原则。在这个例子中,每个对象所包含的块由字母来区分。