Skip to content

yingjunwu/IndexZoo

Repository files navigation

IndexZoo

GitHub license

Overview

The IndexZoo project aims at developing a general platform for performance evaluation of index structures in modern main-memory database systems.

Installation

IndexZoo has been tested under the following platforms:

  • Ubuntu 16.04

To use the platform, please run the following scripts:

sudo apt-get install libjemalloc-dev
git clone --recursive https://github.com/yingjunwu/IndexZoo.git
mkdir build
cmake ..
make -j
cd build
./src/index_benchmark -h

Benchmarks

Currently, IndexZoo supports both numeric- and string-based workloads.

To run numeric-based workloads, please try:

./src/index_benchmark -h

To run string-based workloads, please try:

./src/generic_index_benchmark -h

Supported Index Structures

Multi-thread Dynamic Index Structures (for OLTP workloads)

Index Structure Description Original Implementation Note
Masstree Index J. Rao, et al. kohler
ArtTree Index V. Leis, et al. flode
BwTree Index J. Levandoski, et al. wangziqi2013
Libcuckoo Index X. Li, et al. efficient Hash-based index

Single-thread Dynamic Index Structures (for OLTP workloads)

Index Structure Description Original Implementation Note
Stx-Btree Index bingmann Standard B+-tree index
ArtTree Index V. Leis, et al. armon

Static Index Structures (for OLAP workloads)

Index Structure Description Original Implementation Note
Binary Index yingjunwu Optimized binary search tree
KAry Index B. Schlegel, et al. yingjunwu
Interpolation Index yingjunwu
FAST Index C. Kim, et al. yingjunwu

License

Copyright (c) 2018 Yingjun Wu

Licensed Under the Apache 2.0 License.

About

Benchmarking In-Memory Index Structures

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published