# ALEX: An Updatable Adaptive Learned Index

**Authors:** Jialin Ding, Umar Farooq Minhas, Jia Yu, Chi Wang, Jaeyoung Do, Yinan, Li, Hantian Zhang, Badrish Chandramouli, Johannes Gehrke, Donald Kossmann,, David Lomet, Tim Kraska

arXiv: 1905.08898 · 2020-06-25

## TL;DR

ALEX is a new learned index structure that efficiently supports dynamic workloads with updates and deletes, outperforming traditional B+Trees and earlier learned indexes in speed and size.

## Contribution

ALEX introduces an updatable, adaptive learned index that handles mixed read-write workloads, bridging the gap between static learned indexes and practical database use cases.

## Key findings

- ALEX outperforms Kraska et al.'s learned index by up to 2.2X in performance.
- ALEX achieves up to 15X smaller index size compared to previous learned indexes.
- ALEX beats B+Trees by up to 4.1X in read-write workloads with significantly smaller size.

## Abstract

Recent work on "learned indexes" has changed the way we look at the decades-old field of DBMS indexing. The key idea is that indexes can be thought of as "models" that predict the position of a key in a dataset. Indexes can, thus, be learned. The original work by Kraska et al. shows that a learned index beats a B+Tree by a factor of up to three in search time and by an order of magnitude in memory footprint. However, it is limited to static, read-only workloads.   In this paper, we present a new learned index called ALEX which addresses practical issues that arise when implementing learned indexes for workloads that contain a mix of point lookups, short range queries, inserts, updates, and deletes. ALEX effectively combines the core insights from learned indexes with proven storage and indexing techniques to achieve high performance and low memory footprint. On read-only workloads, ALEX beats the learned index from Kraska et al. by up to 2.2X on performance with up to 15X smaller index size. Across the spectrum of read-write workloads, ALEX beats B+Trees by up to 4.1X while never performing worse, with up to 2000X smaller index size. We believe ALEX presents a key step towards making learned indexes practical for a broader class of database workloads with dynamic updates.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1905.08898/full.md

## Figures

69 figures with captions in the complete paper: https://tomesphere.com/paper/1905.08898/full.md

## References

36 references — full list in the complete paper: https://tomesphere.com/paper/1905.08898/full.md

---
Source: https://tomesphere.com/paper/1905.08898