Reducing the Storage Overhead of Main-Memory OLTP Databases with Hybrid Indexes

David G. Andersen, Rui Shen, Lin Ma, Michael Kaminsky, Huanchen Zhang, Andrew Pavlo
2016-06-16

SCID:  54.1/znfz6ua8
Using indexes for query execution is crucial for achieving high performance in modern on-line transaction processing databases. For a main-memory database, however, these indexes consume a large fraction of the total memory available and are thus a major source of storage overhead of in-memory databases. To reduce this overhead, we propose using a two-stage index: The first stage ingests all incoming entries and is kept small for fast read and write operations. The index periodically migrates entries from the first stage to the second, which uses a more compact, read-optimized data structure. Our first contribution is hybrid index, a dual-stage index architecture that achieves both space efficiency and high performance. Our second contribution is Dual-Stage Transformation (DST), a set of guidelines for converting any order-preserving index structure into a hybrid index. Our third contribution is applying DST to four popular order-preserving index structures and evaluating them in both standalone microbenchmarks and a full in-memory DBMS using several transaction processing workloads. Our results show that hybrid indexes provide comparable throughput to the original ones while reducing the memory overhead by up to 70%.
Publication Details
Publication Date
2016-06-16
Journal
Publisher
ISSN
Access Type
Author Information
Authors
David G. Andersen
Rui Shen
Lin Ma
Michael Kaminsky
Huanchen Zhang
Andrew Pavlo
Explore More Research
Use the citation graph to discover related papers and expand your research horizons.
Click any node to explore
Download PDF
100%