转自 http://3416398.blog.51cto.com/3406398/634625
重复数据删除,它是一种目前主流且非常热门的存储技术,可对存储容量进行有效优化。它通过删除数据集中重复的数据,只保留其中一份,从而消除冗余数据。这种技术可以很大程度上减少对物理存储空间的需求,从而满足日益增长的数据存储需求。这种技术能带来非常明显的效益,主要包括:
(1) 有效减低备份服务器的数量,从而降低成本;
(2) 有效控制数据的急剧增长;
(3) 增加有效存储空间,提高存储效率;
(5) 节省数据传输的网络带宽;
(6) 节省空间、电力供应,降低机房环境温度
Meshvault采用的哈希算法,拥有更大的地址空间,分布概率更加均匀;而目前大部分重复数据删除技术是基于MD5算法,如Amazon的Dynamo。重复数据删除技术可以用于很多场合,主要用于数据容灾、数据传输与同步,作为一种数据压缩技术可用于数据打包,可以帮助众多应用降低数据存储量,节省网络带宽,提高存储效率、减小备份窗口,节省成本。
重复数据删除技术主要有两个指标,即重复数据删除率和性能。性能取决于具体实现技术,而重复数据删除率则由数据自身的特征和应用模式所决定,影响因素主要是数据分块大小。目前各存储厂商公布的重复数据删除率从20:1到500:1不等。而Meshvault的比率要高出很多。
研发或应用重复数据删除技术时应该考虑各种因素。第一,应分析数据的种类,对时间数据还是空间数据,对全局数据还是局部数据?第二,进行文件切分时选取的块大小,和如何进行数据块检索?采用相同数据检测还是采用相似数据检测和差异编码技术?数据内容是否可以感知,是否需要对内容进行解析?
Meshvault存储系统的重复数据删除过程一般是这样的:首先将数据文件分割成一组数据块,为每个数据块计算指纹,然后以指纹为关键字进行查找,匹配则表示该数据块为重复数据块,仅存储数据块索引号,否则则表示该数据块是一个新的唯一块,对数据块进行存储并创建相关元信息。这样,一个物理文件在存储系统就对应一个逻辑表示,由一组KD组成的元数据。当进行读取文件时,先读取逻辑文件,然后根据KD序列,从存储系统中取出相应数据块,还原物理文件副本。从 如上过程中可以看出,重复数据删除关键技术主要包括文件数据块切分、数据块指纹计算和数据块检索。