数据压缩和重复数据删除是实现数据缩减的两种关键技术,二者有什么区别

 我来答
精品DIY生活
推荐于2016-11-02 · 知道合伙人数码行家
精品DIY生活
知道合伙人数码行家
采纳数:46447 获赞数:131774
视频剪辑、网络管理、图片处理、办公自动化、文学、语言学。

向TA提问 私信TA
展开全部
面对数据的急剧膨胀,企业需要不断购置大量的存储设备来应对不断增长的存储需求。然而,单纯地提高存储容量,这似乎并不能从根本解决问题。首先,存储设备的采购预算越来越高,大多数企业难以承受如此巨大的开支。其次,随着数据中心的扩大,存储管理成本、占用空间、制冷能力、能耗等也都变得越来越严重,其中能耗尤为突出。再者,大量的异构物理存储资源大大增加了存储管理的复杂性,容易造成存储资源浪费和利用效率不高。因此,我们需要另辟蹊径来解决信息的急剧增长问题,堵住数据“井喷”。高效存储理念正是为此而提出的,它旨在缓解存储系统的空间增长问题,缩减数据占用空间,简化存储管理,最大程度地利用已有资源,降低成本。目前业界公认的五项高效存储技术分别是数据压缩、重复数据删除、自动精简配置、自动分层存储和存储虚拟化。目前,数据压缩和重复数据删除是实现数据缩减的两种关键技术。简而言之,数据压缩技术通过对数据重新编码来降低冗余度,而重复数据删除技术侧重于删除重复的数据块,从而实现数据容量缩减的目的。

数据压缩与重复数据删除对比分析
数据压缩和重复数据删除技术都着眼于减少数据量,其差别在于数据压缩技术的前提是信息的数据表达存在冗余,以信息论研究作为基础;而重复数据删除的实现依赖数据块的重复出现,是一种实践性技术。然而,通过上面的分析我们发现,这两种技术在本质上却是相同的,即通过检索冗余数据并采用更短的指针来表示来实现缩减数据容量。它们的区别关键在于,消除冗余范围不同,发现冗余方法不同,冗余粒度不同,另外在具体实现方法有诸多不同。

(1)消除冗余范围
数据压缩通常作用于数据流,消除冗余范围受到滑动窗口或缓存窗口的限制。由于考虑性能因素,这个窗口通常是比较小的,只能对局部数据产生作用,对单个文件效果明显。重复数据删除技术先对所有数据进行分块,然后以数据块为单位在全局范围内进行冗余消除,因此对包含众多文件的全局存储系统,如文件系统,效果更加显著。如果把数据压缩应用于全局,或者把重复数据删除应用于单个文件,则数据缩减效果要大大折扣。
(2)发现冗余方法
数据压缩主要通过串匹配来检索相同数据块,主要采用字符串匹配算法及其变种,这是精确匹配。重复数据删除技术通过数据块的数据指纹来发现相同数据块,数据指纹采用hash函数计算获得,这是模糊匹配。精确匹配实现较为复杂,但精度高,对细粒度消除冗余更为有效;模糊匹配相对简单许多,对大粒度的数据块更加适合,精度方面不够。
(3)冗余粒度
数据压缩的冗余粒度会很小,可以到几个字节这样的小数据块,而且是自适应的,不需要事先指定一个粒度范围。重复数据删除则不同,数据块粒度比较大,通常从512到8K字节不等。数据分块也不是自适应的,对于定长数据块需要事先指定长度,变长数据分块则需要指定上下限范围。更小的数据块粒度会获得更大的数据消冗效果,但计算消耗也更大。
(4)性能瓶颈
数据压缩的关键性能瓶颈在于数据串匹配,滑动窗口或缓存窗口越大,这个计算量就会随之大量增加。重复数据删除的性能瓶颈在于数据分块与数据指纹计算,MD5/SHA-1等hash函数的计算复杂性都非常高,非常占用CPU资源。另外,数据指纹需要保存和检索,通常需要大量内存来构建hash表,如果内存有限则会对性能产生严重影响。
(5)数据安全
这里的数据压缩都是无损压缩,不会发生数据丢失现象,数据是安全的。重复数据删除的一个问题是,利用hash产生的数据块指纹可能会产生的碰撞,即两个不同的数据块生成了相同的数据指纹。这样,就会造成一个数据块丢失的情况发生,导致数据发生破坏。因此,重复数据删除技术存在数据安全隐患。
(6)应用角度
数据压缩直接对流式数据进行处理,不需要事先对全局信息进行分析统计,可以很好地利用流水线或管道方式与其他应用结合使用,或以带内方式透明地作用于存储系统或网络系统。重复数据删除则需要对数据进行分块处理,需要对指纹进行存储和检索,需要对原先物理文件进行逻辑表示。如果现有系统要应用这种技术,则需要对应用进行修改,难以做到透明实现。目前重复数据删除并不是一个通常功能,而更多地以产品形态出现,如存储系统、文件系统或应用系统。因此,数据压缩是一种标准功能,而重复数据删除现在还没有达到这种标准,应用角度来看,数据压缩更为简单。

珠联璧合
数据压缩与重复数据删除两种技术具有不同层面的针对性,并能够结合起来使用,从而实现更高的数据缩减比例。值得一提的是,如果同时应用数据压缩和重复数据删除技术,为了降低对系统的处理需求和提高数据压缩比率,通常需要先应用数据删除技术,然后再使用数据压缩技术进一步降低"结构图"和基本数据块的体积。如果顺序颠倒会出现什么样的结果呢?压缩会对数据进行重新编码,从而破坏了数据原生的冗余结构,因此再应用重复数据删除效果则会大打折扣,而且消耗时间也更多。而先执行重复数据删除则不同,它首先消除了冗余数据块,然后应用数据压缩对唯一副本数据块进行再次压缩。这样,两种技术的数据缩减作用得到叠加,而且数据压缩的消耗时间大大降低。因此,先去重后压缩,可以获得更高的数据压缩率和性能。
壹寰(深圳)科技文化有限公司
2021-03-27 广告
不同公司提供的方案也不一样。更多详尽准确的信息可以找壹寰(深圳)科技文化有限公司。91数据恢复是壹寰(深圳)科技文化有限公司旗下专业数据恢复品牌,91数据恢复专注于勒索病毒数据恢复、勒索病毒数据修复、数据库修复、数据库解密恢复、企业安全防护... 点击进入详情页
本回答由壹寰(深圳)科技文化有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式