中文

利用文件系统目录项管理加速 LSM-Tree

数据结构与算法 2021-09-29 v2 数据库

摘要

日志结构合并树(LSM-tree)在构建键值(KV)存储中广受欢迎。它使用日志来备份到达的 KV 对,并维护若干具有指数增长容量限制的磁盘层级,类似于分层树状结构。一个层级由 SST 文件组成,每个文件保存一串有序的 KV 对。LSM-tree 不时通过压缩(compaction)将已满层级中的 KV 对重新部署到更低层级,在 SST 文件间进行归并排序和移动 KV 对,从而产生大量的磁盘 I/O。本文重新审视 LSM-tree 的设计,发现将一个 SST 文件中的多个 KV 对组织在一起会导致压缩中实际 KV 对的重量级重部署。据此,我们通过将 KV 对的 SST 文件转变为 SST 目录来革新 KV 对的组织方式,其中每个 KV 对成为一个独立的 KV 文件,键和值分别作为文件名和文件主要内容。压缩中移动 KV 对转化为转移目录项(dentrys),从而显著减少磁盘 I/O。这是我们名为 DeLSM 的设计的核心。我们在 LevelDB 上构建了 DeLSM 的原型,评估结果表明它在不同维度上显著优于最先进的 LSM-tree 变体。

关键词

引用

@article{arxiv.2109.13142,
  title  = {Accelerating LSM-Tree with the Dentry Management of File System},
  author = {Yanpeng Hu and Chundong Wang},
  journal= {arXiv preprint arXiv:2109.13142},
  year   = {2021}
}

备注

13 pages