Disco: A Compact Index for LSM-trees
Wenshao Zhong, Chen Chen, Xingbo Wu, Jakob Eriksson
摘要
Many key-value stores and database systems use log-structured merge-trees (LSM-trees) as their storage engines because of their excellent write performance. However, the read performance of LSM-trees is suboptimal due to the overlapping sorted runs. Most existing efforts rely on filters to reduce unnecessary I/Os, but filters fundamentally do not help locate items and often become the bottleneck of the system. We identify that the lack of efficient index is the root cause of subpar read performance in LSM-trees. In this paper, we propose Disco: a compact index for LSM-trees. Disco indexes all the keys in an LSM-tree, so a query does not have to search every run of the LSM-tree. It records compact key representations to minimize the number of key comparisons so as to minimize cache misses and I/Os for both point and range queries. Disco guarantees that both point queries and seeks issue at most one I/O to the underlying runs, achieving an I/O efficiency close to a B + -tree. Disco improves upon REMIX's pioneering multi-run index design with additional compact key representations to help improve read performance. The representations are compact so the cost of persisting Disco to disk is small. Moreover, while a traditional LSM-tree has to choose a more aggressive compaction policy that slows down write performance to have better read performance, a Disco-indexed LSM-tree can employ a write-efficient policy and still have good read performance. Experimental results show that Disco can save I/Os and improve point and range query performance by up to 220% over RocksDB while maintaining efficient writes.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper1
问问它们各自怎么用它它引用的顶会 Paper11
- From WiscKey to Bourbon: A Learned Index for Log-Structured Merge TreesYifan Dai, Yien Xu, Aishwarya Ganesan, Ramnatthan Alagappan 等OSDI 2020 · 被引用 138 次
- Evolution of Development Priorities in Key-value Stores Serving Large-scale Applications: The RocksDB ExperienceSiying Dong, Andrew Kryczka, Yanqin Jin, Michael StummFAST 2021 · 被引用 110 次
- Rosetta: A Robust Space-Time Optimized Range Filter for Key-Value StoresSiqiang Luo, Subarna Chatterjee, Rafael Ketsetsidis, Niv Dayan 等SIGMOD 2020 · 被引用 91 次
- Constructing and Analyzing the LSM Compaction Design SpaceSubhadeep Sarkar, Dimitris Staratzis, Zichen Zhu, Manos AthanassoulisVLDB 2021 · 被引用 73 次
- Chucky: A Succinct Cuckoo Filter for LSM-TreeNiv Dayan, Moshe TwittoSIGMOD 2021 · 被引用 57 次
相关 Paper
- REMIX: Efficient Range Query for LSM-treesWenshao Zhong, Chen Chen, Xingbo Wu, Song JiangFAST 2021 · 被引用 67 次
- Range Cache: An Efficient Cache Component for Accelerating Range Queries on LSM - Based Key-Value StoresXiaoliang Wang, Peiquan Jin, Yongping Luo, Zhaole ChuICDE 2024 · 被引用 10 次
- GRF: A Global Range Filter for LSM-Trees with Shape EncodingHengrui Wang, Te Guo, Junzhao Yang, Huanchen ZhangSIGMOD 2024 · 被引用 15 次
- Rethinking The Compaction Policies in LSM-treesHengrui Wang, Jiansheng Qiu, Fangzhou Yuan, Huanchen ZhangSIGMOD 2025 · 被引用 9 次
- Enhancing LSM-Tree Key-Value Stores for Read-Modify-Writes via Key-Delta SeparationJinhong Li, Yanjing Ren, Shujie Han, Patrick P. C. LeeICDE 2024 · 被引用 6 次
