如何生长 LSM 树?——通向理论与实践之间的鸿沟
数据库
2025-04-25 v1
摘要
LSM 树基于键值存储的存储后端在现代大数据应用中被广泛采用。LSM 树随数据摄取而生长,方式要么是通过固定水平容量添加层次(称为垂直方案),要么是通过固定层次数量增加层次容量(称为水平方案)。垂直方案在最近的系统设计中主导了 RocksDB、LevelDB 和 WiredTiger,而水平方案则显示出被采纳减少。增长方案深远影响 LSM 系统在各种方面的性能,如读取、写入和空间成本。这篇论文试图提供新的见解来回答一个根本性设计问题——如何生长 LSM 树以实现更理想的性能?我们的分析突显了垂直方案在实现最佳读写权衡方面的局限性,以及水平方案在有效管理空间成本方面的局限性。建立在分析基础上,我们提出了一种新方法 Vertiorizon,将垂直方案和水平方案的优势结合起来,以实现对查找、更新和空间成本的优越平衡。其自适应设计使其高度兼容各种工作负载。相较于垂直方案,Vertiorizon 在读写性能权衡方面显著提升。相较于水平方案,Vertiorizon 通过对 Bentley 和 Saxe 理论的非平凡推广,大大扩展了权衡范围,同时大大降低了空间成本。集成到 RocksDB 时,Vertiorzon 比垂直方案表现出更好的写入性能,而相较于水平方案,仅产生约六倍的额外空间成本。
引用
@article{arxiv.2504.17178,
title = {How to Grow an LSM-tree? Towards Bridging the Gap Between Theory and Practice},
author = {Dingheng Mo and Siqiang Luo and Stratos Idreos},
journal= {arXiv preprint arXiv:2504.17178},
year = {2025}
}
备注
Accepted by SIGMOD 2025