Chinaunix

标题: 【话题讨论】三种类型的重复数据删除技术的优劣比较(获奖名单已公布-2013-7-2) [打印本页]

作者: arron刘    时间: 2013-06-03 08:49
标题: 【话题讨论】三种类型的重复数据删除技术的优劣比较(获奖名单已公布-2013-7-2)
获奖名单已公布,详情请看:http://bbs.chinaunix.net/thread-4088733-1-1.html

备份设备中总是充斥着大量的冗余数据。为了解决这个问题,节省更多空间,“重复删除”技术便顺理成章地成了人们关注的焦点。采用“重复删除”技术可以将存储的数据缩减为原来的1/20,从而让出更多的备份空间,不仅可以使磁盘上的备份数据保存更长的时间,而且还可以节约离线存储时所需的大量的带宽。

今天我们就来讨论讨论重复数据删除技术的问题:
1、你们平时采用什么技术进行重复数据删除?
2、对于复数据删除技术的三种主要类型:文件级、数据块或数据子块,以及内容识别,你最喜欢那种方式?
3、简单描述一下以上几种技术的优劣?

讨论时间:2013.6.3--2013.6.21

讨论奖励:活动结束后将会抽取两位会员赠送50元京东礼品卡。




作者: laputa73    时间: 2013-06-03 09:17
我觉得一般都是会采用数据压缩技术
如果冗余度高,压缩率自然就大,这样还便于恢复.因为是无损的.
我接手的项目还真没有用过重复数据删除技术的
顶多是增量和全量结合的方式.
作者: arron刘    时间: 2013-06-03 11:26
哦。那你觉得那种情况下才会用到这些技术呢?回复 2# laputa73


   
作者: shang2010    时间: 2013-06-03 11:30
今天我们就来讨论讨论重复数据删除技术的问题:
1、你们平时采用什么技术进行重复数据删除?
2、对于复数据删除技术的三种主要类型:文件级、数据块或数据子块,以及内容识别,你最喜欢那种方式?
3、简单描述一下以上几种技术的优劣?




重复数据占用太多资源了,360也做过类似的功能
你邀请他们来吧,,,nosql相关的
作者: heaven_sky    时间: 2013-06-03 11:32
数据块或数据子块类型的重复删除不在文件层实现,而是关注在单独的数据块和数据子块上(后者小于512字节),进而减少存储消耗。这类重复数据删除技术能非常精准地实现“卓越的”重复删除,并实现高效的数据备份。不过使用这类重复数据删除方式的存储通常代价不菲。
作者: arron刘    时间: 2013-06-03 11:32
嗯嗯。来看看回复 4# shang2010


   
作者: laputa73    时间: 2013-06-03 12:09
回复 3# arron刘


    我就是不明白,所以来学习.
    赫赫.
    感觉基于块的数据删除和压缩技术原理上应该是相通的.
   
    刚才想到,网盘还有p2p下载技术也应该有关系.
    同名的文件只存一份,应该就是基于文件的删除吧.
    迅雷下载要判断是否本地cache命中.也是类似的.
作者: 方兆国    时间: 2013-06-03 13:15
文件级、数据块或数据子块,以及内容识别

我感觉内容识别的话消耗的资源比较多,定期的删除旧的备份是比较可行的方案
数据块或数据子块的删除就算是中庸之道,介于二者之间
作者: 沙中有金    时间: 2013-06-03 13:21
1、你们平时采用什么技术进行重复数据删除?
inline
2、对于复数据删除技术的三种主要类型:文件级、数据块或数据子块,以及内容识别,你最喜欢那种方式?
文件级就别说了,我个人更喜欢内容识别类型。
3、简单描述一下以上几种技术的优劣?
基于文件级压缩率太低
数据块或数据字块需要消耗cpu内存资源,效率低。
我个人更喜欢内容识别的
作者: chenyx    时间: 2013-06-03 16:13
1、你们平时采用什么技术进行重复数据删除?
目前还没有,正在研究.去重肯定是要考虑的.

2、对于复数据删除技术的三种主要类型:文件级、数据块或数据子块,以及内容识别,你最喜欢那种方式?
最喜欢数据子块技术.这个技术可以实现高效的数据备份.

3、简单描述一下以上几种技术的优劣?
文件级别的,主要是重复文件多的情况下,一般是免费的.
数据块或数据子块,可以非常精准的实现重复删除,实现高效的数据备份.楼主说的采用“重复删除”技术可以将存储的数据缩减为原来的1/20这个肯定是在这两种情况下实现的.不过类方式存储通常代价也很高昂
作者: xdsnet    时间: 2013-06-03 17:31
1、你们平时采用什么技术进行重复数据删除?
    想用还没能够用上,现在是手动啊,效率低的很。
2、对于复数据删除技术的三种主要类型:文件级、数据块或数据子块,以及内容识别,你最喜欢那种方式?
     就我了解程度来说喜欢的是 数据块或数据子块 ,不过价格太高了,估计只能喜欢了。
3、简单描述一下以上几种技术的优劣?
     文件级:粒度比较大,使得压缩率不足,但算法相对简单,实施成本相对较低。
     数据块或数据子块:粒度比较小,可以实现很大的压缩率,但算法复杂,实施成本高。
     内容识别:对特定的文件类型的特殊重复数据删除,其前提是识别内容格式,就能对其进行增量备份实现删重,从而有比文件级更好的压缩率(识别后的删重相当于块级了)
作者: zhanglong71    时间: 2013-06-03 20:04
看看热闹.回味下曾经了解的东东.听听大家的观点!

映象中,网络加速设备用到了数据块或数据子块去重及内容识别原理.
文件级别的,应该是在大数据存储中.
作者: 流氓无产者    时间: 2013-06-04 09:12
硬件级别的是怎么回事啊
作者: mcshell    时间: 2013-06-04 09:28
偶 只用 对比md5,来判断文件是否相同 然后删除旧文件 保证万无一失{:3_186:}
作者: pitonas    时间: 2013-06-04 12:24
还没有用过重复数据删除技术。
作者: fengzhanhai    时间: 2013-06-04 13:35
凑下热闹,呵呵!目前公司还没接触博主所说的这些技术 。对于数据库来说只是增量备份与完全热备结合使用,对于存储的文档及视频内容采用全备并定期归档而已
作者: seesea2517    时间: 2013-06-04 17:53
只是简单备份,循环删除,这么高级的技术用在什么场合上呢?学习学习。
作者: webdna    时间: 2013-06-05 07:54
内存内存再内存,内存才最快
作者: qingduo04    时间: 2013-06-05 08:43
今天我们就来讨论讨论重复数据删除技术的问题:
1、你们平时采用什么技术进行重复数据删除?
   目前现网对于备份需求其实挺大,备份数据量每天大约有几T的数据,主要是针对文件备份,比如接口数据,比如数据库表,这种备份方式由数据库的备份机制决定,DB2备份没有单独表的备份,但teradata备份则可以直接把表备份到磁带中。
    对于现有机制不存在重复数据的删除操作,因为备份软件也没有这个功能,只有每天进行备份。

2、对于复数据删除技术的三种主要类型:文件级、数据块或数据子块,以及内容识别,你最喜欢那种方式?
   目前现网中我们主要使用的是文件级备份,非数据块或者数据子块的备份,针对后两者个人认为是备份程序或者备份系统能够把文件进行细化,比如按照8K或者4K等等一个单位进行备份,如果后续备份中的数据块和前期备份的数据块是一致的,则直接搞一个指针,指向前期的备份,这样就可以节省很大的备份资源,对于采购也是节约很大的费用。


3、简单描述一下以上几种技术的优劣?
   正如问题2的描述,目前普遍使用的文件级备份,对于重复数据删除的操作,我们这边还没有普及,个人认为后续数据块或者数据子块备份是前景,毕竟花费越低,功能越强是发展的目标。
   只是目前数据块和数据子块的技术还不是太普及,造成当前的费用高些,但是总体而言还是这些技术比较靠谱




作者: milujite    时间: 2013-06-06 10:26
mcshell 发表于 2013-06-04 09:28
偶 只用 对比md5,来判断文件是否相同 然后删除旧文件 保证万无一失


MD5不能避免碰撞吧?单纯MD5是肯定不行的吧。
作者: 边-城    时间: 2013-06-06 11:15
1、你们平时采用什么技术进行重复数据删除?
对于数据备份,数据去重要么使用备份软件进行,要么通过备份设备进行。备份软件有很多具备重删功能,比如commvault,可以从客户端或者master端进行去重,一般从客户端去重的不多,主要使用后者,因为源端去重会浪费大量的系统资源,当然有个好处,就是节约带宽。还有就是使用备份设备去重,如VTL基本都有重删功能,比较先进的去重技术是content aware,也就是内容感知,比如sepaton VTL。备份软件去重和VTL去重相比,用VTL的方式比较多。

2、对于复数据删除技术的三种主要类型:文件级、数据块或数据子块,以及内容识别,你最喜欢那种方式?
文件级重删应该没有这个概念吧,因为普通的增量备份都可以做到这一点。大部分都是块级或者内容识别。当然内容识别是最强悍的,因为它粒度细,去重效果最理想,当然去重过程需要的时间也更长。
3、简单描述一下以上几种技术的优劣?
总体说来,使用基于content aware的备份设备进行重复数据删除是最理想的,优点是去重效果明显,不会占用系统资源,可以完全在后台运行,也就是备份完成的时候再找点空闲时间后台去重。使用备份软件去重,效果不太明显,且可能消耗大量的系统资源,尤其是CPU,不过也有它适用的场景,比如我一个客户,做备份级容灾,机器性能OK,不过到灾备机房的带宽有限,这个时候备份软件级别的源端去重是首选。



作者: qingduo04    时间: 2013-06-06 21:26
   目前本期引入虚拟带库,就是实现数据块备份,到时候可以据此再进行经验分享......
作者: redcap0    时间: 2013-06-07 18:05
占个地方...
作者: mcyeah    时间: 2013-06-08 10:00
1、你们平时采用什么技术进行重复数据删除?
这个还没用过啊,学习中...
2、对于复数据删除技术的三种主要类型:文件级、数据块或数据子块,以及内容识别,你最喜欢那种方式?
这个要根据自己具体使用的情况而定了吧,没有具体喜欢哪一种吧,它们的应用场景不同的。
3、简单描述一下以上几种技术的优劣?
如果要求比较精确,要避免误删除的话,用内容识别肯定比较好。  文件级的肯定是便于人后来的理解,维护起来比较容易。  数据块和数据子块的方式是更底层的去完成这个事情,所以这个应该会很高效,但是需要实现定义好数据结构吧,避免错误删除,毕竟机器没有人智能。
作者: 方兆国    时间: 2013-06-08 20:36
webdna 发表于 2013-06-05 07:54
内存内存再内存,内存才最快

可是内存没法当备份空间啊
作者: 凯骑龟来    时间: 2013-06-08 22:16
我们使用数据备份恢复软件networker, avamar和datadomain , 这里谈谈心得.

1、你们平时采用什么技术进行重复数据删除?
使用deduplication技术. 关键是三个要点, 数据文件分块切割, 数据块指纹计算, 和数据块检索. 通过对即将要存储的或已经在存储设备上的数据进行分块切割, 对每数据块进行相应的计算得到唯一的指纹(索引)信息, 然后对比指纹(索引)信息, 删除重复的数据块来达到节省空间的目的.
具体到产品, avamar 是一个c/s 结构的体系, 客户端(linux/windows/solaris)安装avamar agent, 服务器端由avamar服务器及一定数目的存储结点(磁盘阵列)组成. 通过在服务器端注册每个客户端, 加入相应的域(不是windows那个概念)或组,为每个组安排相应的数据集,备份计划,数据过期策略等实现全自动的备份。avamar agent在每次执行备份任务时,会对要上传到服务器的数据进行分析处理,同前一次备份对比后去处冗余数据,最后上传到服务器端处理后的数据。所以相对于avamar客户端而言,每次的备份都是全备份,但上传到服务器的数据仅仅是变化后的数据。这种是在线式的deduplication技术,非常适合wan/lan环境以及大型的虚拟化集群。
EMC的另一个产品, datadomain则是典型的离线式deduplication技术。我们的环境中是networker 结合datadomain,使用datadomain来作为networker的存储节点。networker客户端每次都是传到networker服务器端全部的备份数据,数据存储到datadomain后由datadomain自身来进行重复冗余数据的计算和删除。所以对于使用networker作为备份服务器的客户机,每次执行的可以是全备份或增量备份。
在使用datadomain作为networker的存储节点前我们是用IBM的磁带库给networker做存储,每天的磁带更换与存储运输以及设备监控与维护简直是一段不堪回首的往事啊。使用上了deduplication的datadomain成本和效率都比原来好多了。

2、对于复数据删除技术的三种主要类型:文件级、数据块或数据子块,以及内容识别,你最喜欢那种方式?
文件级别是什么呢?如果是简单的rsync 那这个比较快了,适合小型的文件系统或目录级别等静态内容的备份。但如果是像Oracle rman或export的数据备份, rsync就不行了。数据块或数据子块就是上面我谈到两种deduplication了,是效率很高当然也是很昂贵的。内容识别我想还是基于文件,(二进制)识别?不会有这种技术吧?需要有一个引擎来扫描备份的每个字节数据并生成相应的索引或元数据,技术上来说很复杂,可能效率也是最高的吧。没有用过这样的产品不做评论了。
3、简单描述一下以上几种技术的优劣?
上面一个问题已经说了他们的特点了。不再废话了。
作者: qingduo04    时间: 2013-06-09 11:15
回复 26# 凯骑龟来


    看来楼上对备份研究的够透彻啊!
作者: ChinaUnixViewer    时间: 2013-06-20 11:07
学习了

回复 26# 凯骑龟来


   
作者: dengbao2001    时间: 2013-06-20 21:46
1、你们平时采用什么技术进行重复数据删除?

我们在BE2012上面启用重复数据删除的许可,因为要求蛮多的,所以最近才开始使用,目前效果有待观察

2、对于复数据删除技术的三种主要类型:文件级、数据块或数据子块,以及内容识别,你最喜欢那种方式?

个人理解,数据块或者子块的级别更高,更好的识别重复数据,这种情况下,对客户端(如果是客户端消重)或者服务器端(服务器端消重)的压力都是不小的。我做个备份Lotus数据块的测试,物理机环境下,客户端消重,CPU使用率到了60多,好在维持的时间不是很长。

3、简单描述一下以上几种技术的优劣?

对相关技术不是深入了解,等待大家的分享




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2