# DobLIX: A Dual-Objective Learned Index for Log-Structured Merge Trees

arXiv: https://arxiv.org/abs/2502.05369 · HTML: https://mlsanity.com/paper/2502.05369/

## Key facts

- Cited by 1 papers in the map (data through 14 Oct 2026).
- Builds on 23 of its 74 references that are in the map.
- First posted on arXiv 7 Feb 2025.

## Builds on (most cited first, 23 of 23)

- [Convex optimization](https://mlsanity.com/paper/2106.01946/) (2021)
- [The Case for Learned Index Structures](https://mlsanity.com/paper/1712.01208/) (2017)
- [ALEX: An Updatable Adaptive Learned Index](https://mlsanity.com/paper/1905.08898/) (2019)
- [HoloDetect: Few-Shot Learning for Error Detection](https://mlsanity.com/paper/1904.02285/) (2019)
- [RadixSpline: A Single-Pass Learned Index](https://mlsanity.com/paper/2004.14541/) (2020)
- [FITing-Tree: A Data-aware Index Structure](https://mlsanity.com/paper/1801.10207/) (2018)
- [Benchmarking Learned Indexes](https://mlsanity.com/paper/2006.12804/) (2020)
- [The PGM-index: a multicriteria, compressed and learned approach to data indexing](https://mlsanity.com/paper/1910.06169/) (2019)
- [CARMI: A Cache-Aware Learned Index with a Cost-based Construction Algorithm](https://mlsanity.com/paper/2103.00858/) (2021)
- [APEX: A High-Performance Learned Index on Persistent Memory](https://mlsanity.com/paper/2105.00683/) (2021)
- [Bounding the Last Mile: Efficient Learned String Indexing](https://mlsanity.com/paper/2111.14905/) (2021)
- [Updatable Learned Indexes Meet Disk-Resident DBMS -- From Evaluations to Design Choices](https://mlsanity.com/paper/2305.01237/) (2023)
- [Learning to Optimize LSM-trees: Towards A Reinforcement Learning based Key-Value Store for Dynamic Workloads](https://mlsanity.com/paper/2308.07013/) (2023)
- [Approximate Denial Constraints](https://mlsanity.com/paper/2005.08540/) (2020)
- [Are Updatable Learned Indexes Ready?](https://mlsanity.com/paper/2207.02900/) (2022)
- [Endure: A Robust Tuning Paradigm for LSM Trees Under Workload Uncertainty](https://mlsanity.com/paper/2110.13801/) (2021)
- [The Case for Learned In-Memory Joins](https://mlsanity.com/paper/2111.08824/) (2021)
- [Approximate Inference in Structured Instances with Noisy Categorical Observations](https://mlsanity.com/paper/1907.00141/) (2019)
- [On sampling from data with duplicate records](https://mlsanity.com/paper/2008.10549/) (2020)
- [Towards Flexibility and Robustness of LSM Trees](https://mlsanity.com/paper/2311.10005/) (2023)
- [LSMGraph: A High-Performance Dynamic Graph Storage System with Multi-Level CSR](https://mlsanity.com/paper/2411.06392/) (2024)
- [DumpKV: Learning based lifetime aware garbage collection for key value separation in LSM-tree](https://mlsanity.com/paper/2406.01250/) (2024)
- [vLSM: Low tail latency and I/O amplification in LSM-based KV stores](https://mlsanity.com/paper/2407.15581/) (2024)

## Built on by (most cited first, 1 of 1)

- [Sig2Model: A Boosting-Driven Model for Updatable Learned Indexes](https://mlsanity.com/paper/2509.20781/) (2025)

## Abstract (arXiv)

In this paper, we introduce DobLIX, a dual-objective learned index specifically designed for Log-Structured Merge(LSM) tree-based key-value stores. Although traditional learned indexes focus exclusively on optimizing index lookups, they often overlook the impact of data access from storage, resulting in performance bottlenecks. DobLIX addresses this by incorporating a second objective, data access optimization, into the learned index training process. This dual-objective approach ensures that both index lookup efficiency and data access costs are minimized, leading to significant improvements in read performance while maintaining write efficiency in real-world LSM-tree systems. Additionally, DobLIX features a reinforcement learning agent that dynamically tunes the system parameters, allowing it to adapt to varying workloads in real-time. Experimental results using real-world datasets demonstrate that DobLIX reduces indexing overhead and improves throughput by 1.19 to 2.21 times compared to state-of-the-art methods within RocksDB, a widely used LSM-tree-based storage engine.
