HotRAP: Hot Record Retention and Promotion for LSM-trees with Tiered Storage
Jiansheng Qiu, Fangzhou Yuan, Mingyu Gao, Huanchen Zhang
TL;DR
HotRAP tackles read-hot data in tiered-LSM-trees by introducing an on-disk hotness tracker (RALT) and record-level retention/promotion across three pathways to keep hot records in fast storage. The system leverages a mutable/immutable promotion cache and on-disk promotion tracking to promote hot keys independently of standard compactions, enabling timely promotion and retention. Empirical results show up to 5.4x speedups on read-only YCSB, 3.8x on read-write-balanced YCSB, and 1.9x on Twitter traces, with overheads under 1% in uniform workloads and robustness to hotspot shifts. These contributions provide a fine-grained, low-overhead mechanism to improve read performance and reduce storage costs in large-scale KV stores using tiered LSM-trees.
Abstract
The multi-level design of Log-Structured Merge-trees (LSM-trees) naturally fits the tiered storage architecture: the upper levels (recently inserted/updated records) are kept in fast storage to guarantee performance while the lower levels (the majority of records) are placed in slower but cheaper storage to reduce cost. However, frequently accessed records may have been compacted and reside in slow storage. Existing algorithms are inefficient in promoting these ``hot'' records to fast storage, leading to compromised read performance. We present HotRAP, a key-value store based on RocksDB that can timely promote hot records individually from slow to fast storage and keep them in fast storage while they are hot. HotRAP uses an on-disk data structure (a specially-made LSM-tree) to track the hotness of keys and includes three pathways to ensure that hot records reach fast storage with short delays. Our experiments show that HotRAP outperforms state-of-the-art LSM-trees on tiered storage by up to 5.4$\times$ compared to the second best under read-only and read-write-balanced YCSB workloads with common access skew patterns, and by up to 1.9$\times$ compared to the second best under Twitter production workloads.
