vLSM:LSM 基于键值存储中的低尾延迟和 I/O 放大
数据库
2024-07-23 v1
摘要
LSM 基于键值(KV)存储是现代数据基础设施的重要组成部分。然而,它们 suffer于高尾延迟,延迟可达数秒,使其不够适用于面向用户的应用。在本文中,我们引入压缩链(compaction chains)的概念,并分析它们如何影响尾延迟。随后,我们表明现代设计通过牺牲 I/O 放大或需要大量内存来降低尾延迟。基于我们的分析,我们提出 vLSM,一种新的 KV 存储设计,在不牺牲内存或 I/O 放大的前提下显著改善尾延迟。vLSM 通过以下方式实现:(a) 使用小 SST 文件并消除 L0 中现代系统所需的分层压缩,从而缩小压缩链宽度;(b) 在 L1 和 L2 之间使用更大的典型增长因子,并引入重叠感知 SST 文件,以缩短压缩链长度。我们在 RocksDB 中实现 vLSM,并使用 db_bench 和 YCSB 进行评估。我们的评估揭示了内存需求、I/O 放大与尾延迟之间的底层权衡,以及 vLSM 相对于当前方法的优势。vLSM 在写入方面将 P99 尾延迟提高最高可达 4.8 倍,在读取方面提高最高可达 12.5 倍,减少累计写入停顿最高可达 60%,同时在相同的内存预算下也略微改善了 I/O 放大。
引用
@article{arxiv.2407.15581,
title = {vLSM: Low tail latency and I/O amplification in LSM-based KV stores},
author = {Giorgos Xanthakis and Antonios Katsarakis and Giorgos Saloustros and Angelos Bilas},
journal= {arXiv preprint arXiv:2407.15581},
year = {2024}
}