重删概念定义

重删

重删,源端重删,目标端重删
(1)重删:
重复数据删除(重删)是一种节约存储空间的技术,通常情况下,在数据存储池内是有很多重复的数据,重删则是将这些重复的数据找出并处理的技术。
简单地说重删,就是将N份重复的数据仅保留1份,并将N-1份数据的地址指针指向唯一的那一份。
<1>重删的原理
这种实现过程主要表现为在线重删的过程,目前,在存储主流业界均采用这种形式。
Step1:对传入数据进行扫描分割并计算每个数据块的指纹(哈希值)
Step2:将新写入的数据的指纹与现有指纹库比对
Step3:若存在一样的指纹信息,则删除此新数据,若不存在一致的指纹,则写入新数据
给每一个数据块分配一个独一无二可识别的标签是重删的核心所在,如果没有这样一个标签,让CPU在庞大的数据中简单粗暴地去比对数据块是否重复,这毫无意义。而这个标签就是哈希值。哈希算法是指将任意长度的二进制映射成较短的的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值具有不可逆性,某个数据实例通过某种哈希算法(MD5或SHA-1)生成其哈希值,仅知道其哈希值的时候,是不能逆向得到这个数据实例的.
(2)源端重删:
在源端重复数据删除中,数据通过网络传输之前会先在客户端发生散列和处理。由于重复数据删除发生在源端,所以只有更少的数据通过网络传输并最终存储。然而,这样也就增加了客户端的处理开销。需要多少开销会随着供应商的不同而变化,但是通常在15%到25%之间。源端重复数据删除特别适用于高度虚拟的环境和带宽稀缺的分支机构中,但是通常不适合高端交易的环境。
数据在源端经过分块并计算指纹,之后发送到目标端进行查重,如果是新的数据块,则通知源端将该数据块发送到目标端进行保存;如果是重复块,则不发送。源端重删的目主要是为了节省两端之间的传输带宽。
(3)目标端重删:
在目标端重复数据删除中,散列和处理发生在媒体服务器或代理服务器或者磁盘设备上。由于重复数据删除发生在目标端,所以并没有减少从客户端传输的数据,但也没有增加客户端的任何处理开销。
直接将数据传输到目标端,在目标端进行分块、计算指纹并查重下盘。需要说明的是,在一套存储设备中,上述重删方式不是孤立的存在,通常都是几种方式的组合。如在备份场景中,一般都采用在线、变长、块级、目标端(或者源端)重删的方法。
(4)重删的选择:
如果在源端进行压缩的话,将会减少网络带宽压力,提升数据传输速度,但可能会消耗部分客户端性能,如果采用目标端压缩,对数据量大的数据库,网络带宽压力较大,同时对目标端服务器性能提出高要求,因为有可能同时备份多个数据库。一般建议在客户端进行压缩。至于是否采取数据库压缩技术还是备份本身压缩技术,采用数据库压缩技术较好,毕竟数据库对本身的压缩技术兼容性应该是最好的。但是不支持压缩技术的数据库,还是要采用备份产品的压缩技术。
(5)应用场景
TSM Server所在的服务器的配置很强悍,处理能力很强,可以选择目标端的重删和压缩。如果源端的应用服务器配置很强,网络带宽不理想的情况下,选择源端重删和压缩。
(6)无损重删,有损重删
无损重删:进行哈希计算后,发现“指纹”相同后,再进行数据比较(进行XOR校验),再确认是否为重复数据,这种算法能够完全避免哈希冲突,不会丢失任何数据。
有损重删:进行重删算法后,就确认被计算的数据是否为重复的数据,这种算法不能从根本上避免哈希冲突,是有数据丢失的风险的。只适用于对数据准确性要求不高的情况

按照重删的粒度,也可以分为块级重删和文件级重删
块级重删:以数据块为粒度进行指纹计算,之后重删。
文件级重删:以整个文件为粒度计算指纹,然后重删。文件级重删又称为单一实例库重删。
关于数据块级重删和文件级重删,普遍存在一些误区,以为在文件系统中的重删就是文件级重删。其实在文件系统中,也可以将文件按照粒度分割成单个的数据块,实现数据块级的重删,这种方法也是统一存储中,友商实现重删功能的普遍做法。

按照重删执行的时间,重删可以分为Inline重删和Postline重删
Inline重删:指数据在写入磁盘之前进行重删。
Postline重删:数据先写入磁盘,然后再读出来进行重删,重删之后的数据再写入磁盘中。通常在实际操作时,用户会根据所承载业务的负载,指定系统相对空闲的时间让重删包括压缩功能运行起来。

   按照数据分块的方式,重删可以分为定长重删和变长重删
   定长重删:数据按照固定长度进行分块,之后进行重删;
   变长重删:数据被划分成不同大小的块进行重删。变长重删一般使用在备份场景中,这种分块重删方式一般可以获得比较好的重删效果。

3.重复数据删除与数据压缩的区别与联系
数据压缩是一种字节级的数据缩减技术,其思想是采用编码技术,常用的如Huffman编码,将较长的数据用较短的、经过编码的格式来表示,以此达到减少数据大小的目的。而数据重删一般采用Hash算法,根据块计算出Hash值,根据Hash值得重复情况判断是否有重复数据。
从效果上来看,可以认为重复数据删除是一种基于“数据块”的压缩,而数据压缩是一种基于“字节”的重复数据删除。
从应用上来看,重删和压缩通常会配合起来一起使用。如在备份场景中,为了提高数据的缩减效率,在数据经过重删之后会对唯一数据块再执行一次压缩。这样,数据的缩减效果就是重删和压缩效果的叠加。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

京天不下雨

thanks

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值