最近在思考和实践怎样应用重复数据删除技术到云存储服务中。找了些论文来读,其中《Avoiding the Disk Bottleneck in the Data Domain Deduplication File System》是鼎鼎大名的李凯教授出品,读来收益匪浅。

论文主要内容

Data Domain的去重存储系统是商业上大获成功的产品,从产品的角度来讲非常完善,其架构图如下:

去重存储系统在数据存储和重建的过程中,都需要频繁地访问数据块的索引,即图中的Segment Index。为了降低成本,一般系统都无法接受将index数据全部存储到内存中,而是基于硬盘来实现这个index的存储。这样一来,磁盘相对较低的性能就成了整个系统的性能瓶颈。本文介绍了Data Domain的去重存储系统中,针对这个问题所采用的三种优化技术。

  1. 总结向量。总结向量可以认为是Segment index在内存中的总结,本文使用Bloom filter来实现。当需要查询一个index值是否存在的时候,总结向量可以提供如下功能,如果总结向量指出该index不存在,那么该index就不存在,无需进一步查找;如果总结向量指出该index存在,那么该index有很大可能存在,但并不保证一定存在,需要进一步查找确认。总结向量要比原始的segment index小,从而放入内存,提升效率。当系统正常关闭时,将总结向量写入磁盘,并在启动时从磁盘读入内存。为了应对断电等非正常关闭,系统阶段性的创建checkpoint,将总结向量写入磁盘。在需要恢复的时候,只需读取最近的checkpoint,然后将checkpoint之后产生的新数据添加到总结向量中即可。
  2. 流感知的块排列技术。流感知的块排列技术 (stream-informed segment layout ,SISL)是基于这样一种假设,当一个文件的部分数据块存入系统后,再次使用时,这些数据块有很大的可能还会以想同的顺序出现。比如需要恢复这个文件时候,比如下次备份这个文件的新版本的时候。这种排列方式带来许多好处:a.当数据重建时,可以大幅减少磁盘IO;b.当备份相似数据流(数据新版本时),segment index的cache的局部性更高,更有效。c.在同一个container中,元数据段和数据段分开存储,使得可以快速读取一个container中涉及到的所有segment的index构建cache和Bloom filter。
  3. 局部性保持缓存。使用局部性保持缓存技术来加速重复segment的确认过程。由于segment使用内容的sha1来唯一标识,因此很难基于正在使用的segment来预测将要使用的segment是哪一个,从而预加载,提高缓存命中率。幸而应用了流感知的块排列技术(SISL),这使得实现局部性保持缓存有了可能性。

我的思考和疑问

  1. 要实现Bloom Filter的check point,需要container是全局有序的,给定某一个container的id,可以从这个container开始一直遍历到最近产生的数据;
  2. 流感知的块排列技术中,如果一个流的数据很少是怎么处理的?还有,当有多个流在备份数据的时候,如果两个流要写入同一个系统中不存在的segment时,怎么办,是不是就重复写入了。
  3. 传统的数据去重存储系统是面向备份应用的,关注的是吞吐量而不是响应时间。如果要用来做online的实时系统,会有新的问题要解决。

转载于:https://www.cnblogs.com/xinzhao/p/4736592.html

读Avoiding the Disk Bottleneck in the Data Domain Deduplication File System相关推荐

  1. 一文读懂“数据分发服务DDS”(Data Distribution Service,RTPS,OMG)

    一文读懂"数据分发服务DDS"(Data Distribution Service,RTPS,OMG) https://blog.csdn.net/DDS_CSIT/article ...

  2. 磁盘、分区及Linux文件系统 [Disk, Partition, Linux File System]

    1.磁盘基础知识 1.1 物理结构 硬盘的物理结构一般由磁头与碟片.电动机.主控芯片与排线等部件组成:当主电动机带动碟片旋转时,副电动机带动一组(磁头)到相对应的碟片上并确定读取正面还是反面的碟面,磁 ...

  3. EMC Data Domain 存储系统的日常健康检查

    本文介绍EMC DataDoamin 存储系统,民间很多人把这个系统叫做VTL虚拟带库,其实VTL仅仅是DD的一个featrue,还有很多非常重要的功能,但总结一句话,DD的最大优势是做备份.有些人把 ...

  4. 天天向上 专访Data Domain创始人李凯

    今天的重复数据删除技术在EMC以总价21亿美元收购Data Domain之后,骤然达到了最顶点.这也符合业界对以DeDUPlication发家的Data Domain公司股票代码的定义:DDUP--& ...

  5. Android File System安卓文件系统(安卓存储分区,/data /storage /sdcard)

    Android File System 安卓手机,平板电脑(android tablet)以及其他设备大多有 6 种分区 partitions:/boot,/system,/recovery,/dat ...

  6. Conmi的正确答案——keil的“Cannot read RTE data from project file: RTE is not enabled”问题

    keil版本:5.3.0 "Cannot read RTE data from project file: RTE is not enabled" 原因: 1.因为安装的时候不想把 ...

  7. oracle block corrupted,ORA-01578: ORACLE data block corrupted (file # 9, block # 45729)

    今天在实验的机子的oracle上的一张表中批量插入5000000条记录,在插入过程中途发生了表空间不够的情况,导致插入终止,在表空间上添加一个数据文件,对表中的数据进行查询,发生如下的错误: SQL& ...

  8. Python报错:_tkinter.TclError: couldn‘t recognize data in image file...

    在Python中使用tkinter导入图片时出现报错:_tkinter.TclError: couldn't recognize data in image file... global photo ...

  9. mac Apple M1 在根目录无法创建文件和文件夹 mkdir: /data : Read-only file system

    mac 根目录下无法创建文件夹 问题: mkdir: /data : Read-only file system 问题: mount_apfs: volume could not be mounted ...

最新文章

  1. OpenCV中的SURF(Speeded-Up Robust Features 加速鲁棒特征)
  2. 内存对齐与ANSI C中struct型数据的内存布局 【转】
  3. 【Android 逆向】substrate 框架 ( substrate 简介 | substrate 相关文档资料 )
  4. 【Let‘s Encrypt】 too many failed authorizations recently: see https://letsencrypt.org/docs/rate-limit
  5. LeetCode 542. 01 矩阵(BFS DP)
  6. android aar保存图片文件异常_我去!合并AAR时踩坑了!
  7. bzoj1996 [Hnoi2010]chorus 合唱队 区间dp
  8. World Wind Java开发之十三——加载Geoserver发布的WMS服务(转)
  9. 2-7 hash(2)
  10. nvm 下载node 下载不下来_挑战不可能最新版手游下载_挑战不可能最新版安卓版下载...
  11. 嵌入式程序员是难得的全栈型程序员
  12. PHP unicode与普通字符串的相互转化
  13. 各种矩阵压缩原理(书本上没有讲到的具体公式推理过程)
  14. Chirp信号基础知识及matlab实现
  15. js 获取伪类和css变量
  16. Tkinter单选框
  17. day1 -- ELMO语言模型
  18. openmp多线程简单编程
  19. 开源web框架_带有酷名称的开源JavaScript和Web框架的词汇表
  20. Quectel_EC200xEC600xEG912Y系列_HTTP(S)_POST请求

热门文章

  1. java学习笔记-2
  2. Django文件部署(4.虚拟环境的配置)(全)
  3. 北京尚学堂python 百度网盘_北京尚学堂_1903期_Python_全套视频教程(视频、源码、课件)...
  4. 2017年出品干货 | 阿里小蜜-电商领域的智能助理技术实践
  5. [若有所悟]传统与敏捷的结合
  6. png格式图片背景不透明问题解决
  7. 国产新一代影像RTK,不止于影像测量
  8. Redis 的 漏斗限流
  9. Eclipse中outline的意思、和各种图标的含义
  10. 推荐个程序员找女朋友的网站