中文

通过哈希实现 KV 存储的高效更新:设计与性能评估

数据库 2019-06-18 v2

摘要

持久化键值(KV)存储大多构建于日志结构合并(LSM)树之上以获得高写入性能,然而 LSM 树存在固有的高 I/O 放大问题。KV 分离通过将仅键存入 LSM 树、值存入独立存储来缓解 I/O 放大。然而,当前的 KV 分离设计在更新密集型负载下仍因值存储中较高的垃圾回收(GC)开销而效率低下。我们提出 HashKV,旨在更新密集型负载下基于 KV 分离实现高更新性能。HashKV 使用基于哈希的数据分组,确定性地将值映射到存储空间,从而使更新和 GC 均高效。我们通过简单但实用的设计扩展进一步放宽了这种确定性映射的限制。我们广泛评估了 HashKV 的各方面设计。结果表明,与当前 KV 分离设计相比,HashKV 实现了 4.6 倍更新吞吐量和减少 53.4% 的写入流量。此外,我们证明可将 HashKV 的设计与最先进的 KV 存储集成并提升它们各自的性能。

关键词

引用

@article{arxiv.1811.10000,
  title  = {Enabling Efficient Updates in KV Storage via Hashing: Design and Performance Evaluation},
  author = {Yongkun Li and Helen H. W. Chan and Patrick P. C. Lee and Yinlong Xu},
  journal= {arXiv preprint arXiv:1811.10000},
  year   = {2019}
}

备注

28 pages. Accepted by ACM Transactions on Storage