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...
Main Authors: | , , , |
---|---|
Other Authors: | |
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 |
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. |
---|