Constructing and Analyzing the LSM Compaction Design Space
Subhadeep Sarkar, Dimitris Staratzis, Zichen Zhu, Manos Athanassoulis
摘要
Log-structured merge (LSM) trees offer efficient ingestion by appending incoming data, and thus, are widely used as the storage layer of production NoSQL data stores. To enable competitive read performance, LSM-trees periodically re-organize data to form a tree with levels of exponentially increasing capacity, through iterative compactions. Compactions fundamentally influence the performance of an LSM-engine in terms of write amplification, write throughput, point and range lookup performance, space amplification, and delete performance. Hence, choosing the appropriate compaction strategy is crucial and, at the same time, hard as the LSM-compaction design space is vast, largely unexplored, and has not been formally defined in the literature. As a result, most LSM-based engines use a fixed compaction strategy, typically hand-picked by an engineer, which decides how and when to compact data.
In this paper, we present the design space of LSM-compactions, and evaluate state-of-the-art compaction strategies with respect to key performance metrics. Toward this goal, our first contribution is to introduce a set of four design primitives that can formally define any compaction strategy: (i) the compaction trigger, (ii) the data layout, (iii) the compaction granularity, and (iv) the data movement policy. Together, these primitives can synthesize both existing and completely new compaction strategies. Our second contribution is to experimentally analyze 10 compaction strategies. We present 12 observations and 7 high-level takeaway messages, which show how LSM systems can navigate the compaction design space.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper26
- ListDB: Union of Write-Ahead Logs and Persistent SkipLists for Incremental Checkpointing on Persistent MemoryWonbae Kim, Chanyeol Park, Dongui Kim, Hyeongjun Park 等OSDI 2022 · 被引用 47 次
- Endure: A Robust Tuning Paradigm for LSM Trees Under Workload UncertaintyAndy Huynh, Harshal A. Chaudhari, Evimaria Terzi, Manos AthanassoulisVLDB 2022 · 被引用 28 次
- Learning to Optimize LSM-trees: Towards A Reinforcement Learning based Key-Value Store for Dynamic WorkloadsDingheng Mo, Fanchao Chen, Siqiang Luo, Caihua ShanSIGMOD 2024 · 被引用 26 次
- COLE: A Column-based Learned Storage for Blockchain SystemsCe Zhang, Cheng Xu, Haibo Hu, Jianliang XuFAST 2024 · 被引用 20 次
- CaaS-LSM: Compaction-as-a-Service for LSM-based Key-Value Stores in Storage Disaggregated InfrastructureQiaolin Yu, Chang Guo, Jay Zhuang, Viraj Thakkar 等SIGMOD 2024 · 被引用 18 次
它引用的顶会 Paper6
- From WiscKey to Bourbon: A Learned Index for Log-Structured Merge TreesYifan Dai, Yien Xu, Aishwarya Ganesan, Ramnatthan Alagappan 等OSDI 2020 · 被引用 138 次
- Rosetta: A Robust Space-Time Optimized Range Filter for Key-Value StoresSiqiang Luo, Subarna Chatterjee, Rafael Ketsetsidis, Niv Dayan 等SIGMOD 2020 · 被引用 91 次
- Lethe: A Tunable Delete-Aware LSM EngineSubhadeep Sarkar, Tarikul Islam Papon, Dimitris Staratzis, Manos AthanassoulisSIGMOD 2020 · 被引用 68 次
- An LSM-based Tuple Compaction Framework for Apache AsterixDBWail Y. Alkowaileet, Sattam Alsubaiee, Michael J. CareyVLDB 2020 · 被引用 23 次
- Leaper: A Learned Prefetcher for Cache Invalidation in LSM-tree based Storage EnginesLei Yang, Hong Wu, Tieying Zhang, Xuntao Cheng 等VLDB 2020
相关 Paper
- Rangereduce: Query-Driven LSM CompactionsShubham Kaushik, Manos Athanassoulis, Subhadeep SarkarICDE 2026
- On Performance Stability in LSM-based Storage SystemsChen Luo, Michael J. CareyVLDB 2020 · 被引用 1 次
- Rethinking The Compaction Policies in LSM-treesHengrui Wang, Jiansheng Qiu, Fangzhou Yuan, Huanchen ZhangSIGMOD 2025 · 被引用 9 次
- Spooky: Granulating LSM-Tree Compactions CorrectlyNiv Dayan, Tamar Weiss, Shmuel Dashevsky, Michael Pan 等VLDB 2022 · 被引用 57 次
- FPGA-Accelerated Compactions for LSM-based Key-Value StoreTeng Zhang, Jianying Wang, Xuntao Cheng, Hao Xu 等FAST 2020 · 被引用 99 次
