数据重删压缩

一、 重复数据删除的概念
1. 重复数据删除的定义
重复数据删除(简称重删)是一种节约数据存储空间的技术。在计算机中存储了很多重复数据,这些数据占用了大量硬盘空间,利用重复数据删除技术,可以只存储一份数据。另外一项节约存储空间的技术是数据压缩,数据压缩技术在比较小的范围内以比较小的粒度查找重复数据,粒度一般为几个比特到几个字节。而重复数据删除是在比较大的范围内查找大块的重复数据,一般重复数据块尺寸在1KB以上。(摘自维基百科)
2. 重复数据删除的分类
按照重删执行的时间,重删可以分为在线重删和后处理重删:
在线重删:指数据在写入磁盘之前进行重删。
后处理重删:数据先写入磁盘,然后再读出来进行重删,重删之后的数据再写入磁盘中。通常在实际操作时,用户会根据所承载业务的负载,指定系统相对空闲的时间让重删包括压缩功能运行起来。
对于在线重删和后处理重删的定义,业界也存在不同的理解。如先将数据写入缓存,然后从缓存刷到磁盘上,数据在刷盘过程中被重删。对于这种实现方式,有厂商认为也是一种后处理重删。
按照数据分块的方式,重删可以分为定长重删和变长重删:
定长重删:数据按照固定长度进行分块,之后进行重删;
变长重删:数据被划分成不同大小的块进行重删。变长重删一般使用在备份场景中,这种分块重删方式一般可以获得比较好的重删效果。
按照重删的粒度,也可以分为块级重删和文件级重删:
块级重删:以数据块为粒度进行指纹计算,之后重删。
文件级重删:以整个文件为粒度计算指纹,然后重删。文件级重删又称为单一实例库重删。
关于数据块级重删和文件级重删,普遍存在一些误区,以为在文件系统中的重删就是文件级重删。其实在文件系统中,也可以将文件按照粒度分割成单个的数据块,实现数据块级的重删,这种方法也是统一存储中,友商实现重删功能的普遍做法。
按照重删发生的地方,重删可以分为源端重删和目标端重删:
源端重删:数据在源端经过分块并计算指纹,之后发送到目标端进行查重,如果是新的数据块,则通知源端将该数据块发送到目标端进行保存;如果是重复块,则不发送。源端重删的目主要是为了节省两端之间的传输带宽。
目标端重删:直接将数据传输到目标端,在目标端进行分块、计算指纹并查重下盘。
需要说明的是,在一套存储设备中,上述重删方式不是孤立的存在,通常都是几种方式的组合。如在备份场景中,一般都采用在线、变长、块级、目标端(或者源端)重删的方法。
3. 重复数据删除与数据压缩的区别与联系
数据压缩是一种字节级的数据缩减技术,其思想是采用编码技术,常用的如Huffman编码,将较长的数据用较短的、经过编码的格式来表示,以此达到减少数据大小的目的。
从效果上来看,可以认为重复数据删除是一种基于“数据块”的压缩,而数据压缩是一种基于“字节”的重复数据删除。
从应用上来看,重删和压缩通常会配合起来一起使用。如在备份场景中,为了提高数据的缩减效率,在数据经过重删之后会对唯一数据块再执行一次压缩。这样,数据的缩减效果就是重删和压缩效果的叠加。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值