高效数据重删中表至关重要

翻译 2013年12月05日 20:31:07
                                                                    Efficient Deduplication Is All About Tables

     在和Permabit的CTO Jered Floyd的最近一次网络会议中, 我们谈到了伴随他们提供的存储系统的扩展,重删技术面临的挑战。重删就是鉴别一个存储系统中冗余的数据段(块) ,通过只存重复块的一份从而获得容量效率(capacity efficiency)。扩展重复数据删除的关键就成了如何更好的管理那些生成和使用的表?
    表是计算机科学中一个非常根本的元素,可以用其来存蓄各种信息。 重删技术使用表来保留那些存储在设备上的数据的信息,从而使得冗余可以鉴别。它使用一种称为哈希表的结构来存储那些数据段的唯一指纹(fingerprint),当向设备中增加数据时,计算它的指纹并且和那些哈希表中的已有值比对来判断这个数据段是否已经存在。如果指纹没有匹配,说明这是一个新的段,存入设备,同时更新哈希表;如果是冗余数据,就不存这个数据段,用一个指针指向已存在的段。
     为了保证性能不受影响,上述过程必须足够快。大多数情况,上述的查询操作发生在内存中,那么性能不会受影响。问题是,对于大多数的主存系统,这些跟踪的数据量会超过可用内存,这就意味着部分或全部的重删表需要放在磁盘上,这会给性能带来明显的延迟。
     你如何保证随着存储系统的生长,你的重删引擎不会成为瓶颈呢?正如我们在网络会议中讨论的,基于这种哈希表,有多长数据要存储以及存储多长时间都会影响查询功能的性能。能够高效创建,缓存,查询这个表是构建可扩展,能工作几十年而且支持高容量的重删引擎的关键。

步骤1-高效创建
     构建可扩展重删引擎的第一步就是确保基本的构建块,表结构本身是高效的,这意味着要保证表足够精美(small and compact)更好的适应RAM。比如说,Permabit的Albireo hash table典型的只需要0.1B来存每个指纹。

步骤2-高效缓存
     仅仅依赖DRAM存储重删表来构建存储系统是很有问题的。首先,典型的存储控制器只有那么多的DRAM,而且还要留作重删表之外的其他用途,最后,过多的DRAM使得存储系统的总体代价急剧增加。因此在构建一个重删引擎的第二步就是保证重删哈希表的高效缓存。缓存机制就是尽量使得大多数活跃的重删表项在内存中,而让其他部分驻留在磁盘或其它设备,如SSD。
     值得注意的是这里使用的cache不同于其它的cache,并不是以FIFO的规则被换出,因为在决定一个数据块是否是冗余的之前,所有的数据都需要来比对(译注:比如在存的时候充分保证文件的局部性,在每次换入的时候就可以保证更高的命中率,这里可以看DataDomain的两篇paper)。缓存必须智能的管理使访问磁盘的次数尽量少。Permabit的Albireo在每1000次尝试中仅需要访问SSD一次。 

步骤3-高效查询
     表必须能够高效查询从而使确认数据块是否冗余耗时尽量小。这里需要聪明的启发式方法(intelligent heuristics)和数据组织来保证使得判断冗余搜索的表项尽量少。Permabit的Albireo 索引查询平均少于10微秒,这可以保证在单核处理器下11GB/sec的持续摄入率(sustainable ingestion rate)(64 KB的块长和基于硬件的哈希), 而且利用Albireo网格技术,可以随着集群节点的增加线性可扩展。

总结
     网络会议和该系列的日志就是为了帮助用户理解重删是怎样影响他们的,包括前期和随着系统的发展。对于提供商,目的就是帮助他们更好的理解伴随着时间的推移他们薄弱的重删设计的方面。值得注意的是重删并非一个复选项,而是需要仔细的审查,从而保证可以长期服务于企业。

-----------------vonzhou:2013-12-5
原文地址:http://www.storage-switzerland.com





数据重删技术概述

1.源端去重 && 宿端去重源端去重(Source Deduplication)首先在客户端计算待传输数据的指纹并通过与服务端进行指纹比对发现和消除重复内容,然后仅向服务端发送非重复数据内容 , 从而...
  • qq_27803491
  • qq_27803491
  • 2016年09月07日 19:36
  • 631

大数据时代下数据重删的考虑

在备份、主存储及AFA存储中,重删压缩功能可以说是必选项,但是站在用户角度和存储厂商角度我们会面临这两个需要取舍的困窘。...
  • swingwang
  • swingwang
  • 2016年04月24日 13:19
  • 932

数据重删压缩

一、 重复数据删除的概念 1. 重复数据删除的定义 重复数据删除(简称重删)是一种节约数据存储空间的技术。在计算机中存储了很多重复数据,这些数据占用了大量硬盘空间,利用重复数据删除技术,可以只存储...
  • u011639902
  • u011639902
  • 2016年02月24日 15:17
  • 2062

数据重删技术介绍

转载出处:http://blog.csdn.net/hs794502825/article/details/8119516 一:数据重删技术概述 1.源端去重 && 宿端去重 源端去...
  • u013525455
  • u013525455
  • 2016年11月28日 09:37
  • 1320

“重复数据删除”技术的十大问题

1,到底什么是“重复数据删除(Deduplication)”技术 简单地说,就是在通过网络传输或存储数据时,不传送或存储多份相同数据,以减少对网络带宽和存储空间的占用。实际上以前的SIS(单实例存储)...
  • liuben
  • liuben
  • 2009年12月22日 23:09
  • 3513

细数重复数据后重删技术四宗罪

【文章摘要】重复数据删除技术作为存储十大热点技术备受大家的关注。在备份存储领域,重删技术已基本成熟,且具有极高的市场价值,各大厂家都推出了相关的重删产品,并受到了客户青睐。而在主存储领域,重删技术虽然...
  • u011639902
  • u011639902
  • 2016年07月15日 09:45
  • 585

浅谈存储重删压缩技术(一)

作为一个做企业存储市场的存储人,最近两年我不断被重删压缩撩拨着。对于重删压缩这个技术的好坏,真实需求还是伪需求大家看法不一。今天我就只能谈谈我个人的看法。...
  • Taiping_Wang
  • Taiping_Wang
  • 2018年01月02日 22:51
  • 227

快速删除oracle中重复数据,效率高于直接删除数倍.

一般去重的SQL语句去重是这样写delete from 表名 a where a.rowid != ( select max(b.rowid) from 表名 b where a.字段1 = b.字段...
  • lunajiao
  • lunajiao
  • 2017年07月24日 11:53
  • 328

ceph存储 重复数据删除技术简介

0.绪论   一般情况下,数据中心每周需要将主存储设备的所有数据备份到辅存储设备上,并保存数月时间,我们称之为全备份。另外,数据中心可能每天还需做一次增量备份,只备份当天改变的数据。辅存储设备的...
  • skdkjxy
  • skdkjxy
  • 2015年04月16日 19:10
  • 1924

昆腾发布数据重删新品DXi4700

昆腾近日宣布推出新的DXi4700系列重复数据删除设备,它将提供高可扩展性和移动性以及行业领先的每TB成本。该系列的首个型号DXi4701提供了从5TB到13TB的广泛可用容量,是当今市面上唯一通过4...
  • u013792009
  • u013792009
  • 2014年03月05日 15:46
  • 425
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:高效数据重删中表至关重要
举报原因:
原因补充:

(最多只允许输入30个字)