Xindex: A scalable learned index for multicore data storage

70Citations
Citations of this article
61Readers
Mendeley users who have this article in their library.
Get full text

Abstract

We present XIndex, a concurrent ordered index designed for fast queries. Similar to a recent proposal of the learned index, XIndex uses learned models to optimize index efficiency. Comparing with the learned index, XIndex is able to effectively handle concurrent writes without affecting the query performance by leveraging fine-grained synchronization and a new compaction scheme, Two-Phase Compaction. Furthermore, XIndex adapts its structure according to runtime workload characteristics to support dynamic workload. We demonstrate the advantages of XIndex with both YCSB and TPC-C (KV), a TPC-C variant for key-value stores. XIndex achieves up to 3.2× and 4.4× performance improvement comparing with Masstree and Wormhole, respectively, on a 24-core machine, and it is open-sourced1

Cite

CITATION STYLE

APA

Tang, C., Wang, Y., Dong, Z., Hu, G., Wang, Z., Wang, M., & Chen, H. (2020). Xindex: A scalable learned index for multicore data storage. In Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP (pp. 308–320). Association for Computing Machinery. https://doi.org/10.1145/3332466.3374547

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free