KISS-Tree: Smart Latch-Free In-Memory Indexing on Modern Architectures

Growing main memory capacities and an increasing number of hardware threads in modern server systems led to fundamental changes in database architectures. Most importantly, query processing is nowadays performed on data that is often completely stored in main memory. Despite of a high main memory sc...

Full description

Bibliographic Details
Main Authors: Kissinger, Thomas, Schlegel, Benjamin, Habich, Dirk, Lehner, Wolfgang
Other Authors: Technische Universität Dresden, Fakultät Informatik
Format: Others
Language:English
Published: Saechsische Landesbibliothek- Staats- und Universitaetsbibliothek Dresden 2012
Subjects:
Online Access:http://nbn-resolving.de/urn:nbn:de:bsz:14-qucosa-88081
http://nbn-resolving.de/urn:nbn:de:bsz:14-qucosa-88081
http://www.qucosa.de/fileadmin/data/qucosa/documents/8808/damon-kissIndex-camera-ready.pdf
Description
Summary:Growing main memory capacities and an increasing number of hardware threads in modern server systems led to fundamental changes in database architectures. Most importantly, query processing is nowadays performed on data that is often completely stored in main memory. Despite of a high main memory scan performance, index structures are still important components, but they have to be designed from scratch to cope with the specific characteristics of main memory and to exploit the high degree of parallelism. Current research mainly focused on adapting block-optimized B+-Trees, but these data structures were designed for secondary memory and involve comprehensive structural maintenance for updates. In this paper, we present the KISS-Tree, a latch-free inmemory index that is optimized for a minimum number of memory accesses and a high number of concurrent updates. More specifically, we aim for the same performance as modern hash-based algorithms but keeping the order-preserving nature of trees. We achieve this by using a prefix tree that incorporates virtual memory management functionality and compression schemes. In our experiments, we evaluate the KISS-Tree on different workloads and hardware platforms and compare the results to existing in-memory indexes. The KISS-Tree offers the highest reported read performance on current architectures, a balanced read/write performance, and has a low memory footprint.