In this paper, we introduce LearnedKV, a novel tiered key-value (KV) store that seamlessly integrates a Log-Structured Merge (LSM) tree with a Learned Index. This integration yields superior read and write performance compared to standalone indexing structures on SSDs. Our design capitalizes on the LSM tree's high write/update throughput and the Learned Index's fast read capabilities, enabling each component to leverage its strengths. We analyze the impact of size on LSM tree performance and demonstrate how the tiered Learned Index significantly mitigates the LSM tree's size-related performance degradation, particularly by reducing the intensive I/O operations resulting from re-insertions after Garbage Collection (GC). To maintain rapid read performance for newly inserted keys, we introduce a non-blocking conversion mechanism that efficiently transforms the existing LSM tree into a new Learned Index with minimal overhead during GC. Our experimental results, conducted across diverse workloads, show that LearnedKV outperforms state-of-the-art solutions by up to 1.32x in read requests and 1.31x in write performance.
翻译:本文介绍LearnedKV,一种新颖的分层键值存储系统,它将日志结构合并树与学习索引无缝集成。相较于固态硬盘上的独立索引结构,这种集成带来了卓越的读写性能。我们的设计充分利用了LSM树的高写入/更新吞吐量以及学习索引的快速读取能力,使每个组件都能发挥其优势。我们分析了数据规模对LSM树性能的影响,并论证了分层学习索引如何显著缓解LSM树因规模增大导致的性能下降,特别是通过减少垃圾回收后重新插入数据所引发的密集I/O操作。为了维持对新插入键的快速读取性能,我们引入了一种非阻塞转换机制,该机制能在垃圾回收期间以最小开销,高效地将现有LSM树转换为新的学习索引。我们在多样化工作负载下的实验结果表明,LearnedKV在读取请求和写入性能上分别比现有最优解决方案提升了最高1.32倍和1.31倍。