Evaluating Learned Indexes in LSM-tree Systems: Benchmarks,Insights and Design Choices
By: Junfeng Liu , Jiarui Ye , Mengshi Chen and more
Potential Business Impact:
Helps computers find data faster in big lists.
LSM-tree-based data stores are widely used in industry due to their exceptional performance. However, as data volumes grow, efficiently querying large-scale databases becomes increasingly challenging. To address this, recent studies attempted to integrate learned indexes into LSM-trees to enhance lookup performance, which has demonstrated promising improvements. Despite this, only a limited range of learned index types has been considered, and the strengths and weaknesses of different learned indexes remain unclear, making them difficult for practical use. To fill this gap, we provide a comprehensive and systematic benchmark to pursue an in-depth understanding of learned indexes in LSM-tree systems. In this work, we summarize the workflow of 8 existing learned indexes and analyze the associated theoretical cost. We also identify several key factors that significantly influence the performance of learned indexes and conclude them with a novel configuration space, including various index types, boundary positions, and granularity. Moreover, we implement different learned index designs on a unified platform to evaluate across various configurations. Surprisingly, our experiments reveal several unexpected insights, such as the marginal lookup enhancement when allocating a large memory budget to learned indexes and modest retraining overhead of learned indexes. Besides, we also offer practical guidelines to help developers intelligently select and tune learned indexes for custom use cases.
Similar Papers
Are Joins over LSM-trees Ready: Take RocksDB as an Example
Databases
Makes computer data joining faster and smarter.
Learned Adaptive Indexing
Databases
Learns to find information faster as you ask.
Learned LSM-trees: Two Approaches Using Learned Bloom Filters
Data Structures and Algorithms
Makes computer storage faster and use less memory.