Improving Range Scan Performance in LSM-trees with Group Caching
Log-structured merge-trees (LSM-trees) are widely used in modern key-value stores, but their multi-level structure reduces lookup efficiency, especially for range scans. Existing caching solutions, like block caches or full query caches, are memory-inefficient because they fail to exploit a critical asymmetry: eliminating an I/O from upper LSM-tree levels requires caching far fewer key-value pairs (KVs) than from lower levels. To address this, we introduce Group Cache, which uses KV Groups, the minimal set of KVs within a block for a specific query, as its fundamental caching unit. By employing a size-aware policy that prioritizes small, high-utility KV Groups, Group Cache maximizes I/O savings per unit of memory. We also address practical challenges like compaction management, intra-group hotness difference and scalability. Our theoretical analysis and extensive experiments in RocksDB demonstrate that Group Cache significantly outperforms traditional caching methods, achieving up to 3× faster query performance with the same memory budget, or achieving similar performance while using 75% less space.
Authors
- Huanchen Zhang (ORCID: https://orcid.org/0009-0001-4821-1558)
- Hengrui Wang (ORCID: https://orcid.org/0000-0001-8006-4220)
- Jiaoyi Zhang (ORCID: https://orcid.org/0009-0008-3075-6147)
- Jiansheng Qiu
- Fangzhou Yuan
Institutions
- East China Normal University (CN)
- Tsinghua University (CN)
Publication Details
- Journal
- Proceedings of the ACM on Management of Data
- Published
- 2026-04-02
- DOI
- https://doi.org/10.1145/3786661
- Primary Topic
- Caching and Content Delivery
- Type
- article
- Field-Weighted Citation Impact
- 0.00