AC-Key: Adaptive Caching for LSM-based Key-Value Stores [conference paper]

Conference

USENIX Annual Technical Conference - July 15–17, 2020

Authors

Fenggang Wu (Ph.D. student), Ming-Hong Yang (Ph.D. student), Baoquan Zhang (Ph.D. student), David Du (professor)

Abstract

Read performance of LSM-tree-based Key-Value Stores suffers from serious read amplification caused by the leveled structure used to improve write performance. Caching is one of the main techniques to improve the performance of read operations. Designing an efficient caching algorithm is challenging because the leveled structure obscures the cost and benefit of caching a particular key, and the trade-off between point lookup and range query operations further complicates the cache replacement decisions. We propose AC-Key, an Adaptive Caching enabled Key-Value Store to address these challenges. AC-Key manages three different caching components, namely key-value cache, key-pointer cache, and block cache, and adjust their sizes according to the workload. AC-Key leverages a novel caching efficiency factor to capture the heterogeneity of the caching costs and benefits of cached entries. We implement AC-Key by modifying RocksDB. The evaluation results show that the performance of AC-Key is higher than that of RocksDB in various workloads and is even better than the best offline fix-sized caching scheme in phase-change workloads.

Link to full paper

AC-Key: Adaptive Caching for LSM-based Key-Value Stores

Share