Database cracking has been an area of active research in recent years. The core idea of database cracking is to create indexes adaptively and incrementally as a side-product of query processing. Several works have proposed different cracking techniques for different aspects including updates, tuple-reconstruction, convergence, concurrency-control, and robustness. However, there is a lack of any comparative study of these different methods by an independent group. In this paper, we conduct an experimental study on database cracking. Our goal is to critically review several aspects, identify the potential, and propose promising directions in database cracking. With this study, we hope to expand the scope of database cracking and possibly leverage cracking in database engines other than MonetDB.
We repeat several prior database cracking works including the core cracking algorithms as well as three other works on convergence (hybrid cracking), tuple-reconstruction (sideways cracking), and robustness (stochastic cracking) respectively. We evaluate these works and show possible directions to do even better. We further test cracking under a variety of experimental settings, including high selectivity queries, low selectivity queries, and multiple query access patterns. Finally, we compare cracking against different sorting algorithms as well as against different main-memory optimised indexes, including the recently proposed Adaptive Radix Tree (ART). Our results show that: (i) the previously proposed cracking algorithms are repeatable, (ii) there is still enough room to significantly improve the previously proposed cracking algorithms, (iii) cracking depends heavily on query selectivity, (iv) cracking needs to catch up with modern indexing trends, and (v) different indexing algorithms have different indexing signatures.
[1]
Pradeep Dubey,et al.
FAST: fast architecture sensitive tree search on modern CPUs and GPUs
,
2010,
SIGMOD Conference.
[2]
Martin L. Kersten,et al.
Self-organizing tuple reconstruction in column-stores
,
2009,
SIGMOD Conference.
[3]
Martin L. Kersten,et al.
Cracking the Database Store
,
2005,
CIDR.
[4]
Harumi A. Kuno,et al.
Self-selecting, self-tuning, incrementally optimized indexes
,
2010,
EDBT '10.
[5]
Harumi A. Kuno,et al.
Merging What's Cracked, Cracking What's Merged: Adaptive Indexing in Main-Memory Column-Stores
,
2011,
Proc. VLDB Endow..
[6]
Paul Hildebrandt,et al.
Radix Exchange—An Internal Sorting Method for Digital Computers
,
1959,
JACM.
[7]
Kenneth A. Ross,et al.
Making B+- trees cache conscious in main memory
,
2000,
SIGMOD '00.
[8]
Viktor Leis,et al.
The adaptive radix tree: ARTful indexing for main-memory databases
,
2013,
2013 IEEE 29th International Conference on Data Engineering (ICDE).
[9]
Olaf René Birkeland,et al.
Searching large data volumes with MISD processing
,
2008
.
[10]
Kenneth A. Ross,et al.
Making B+-Trees Cache Conscious in Main Memory
,
2000,
SIGMOD Conference.
[11]
Alekh Jindal,et al.
A Comparison of Knives for Bread Slicing
,
2013,
Proc. VLDB Endow..
[12]
Martin L. Kersten,et al.
Updating a cracked database
,
2007,
SIGMOD '07.
[13]
Harumi A. Kuno,et al.
Concurrency Control for Adaptive Indexing
,
2012,
Proc. VLDB Endow..
[14]
Josep-Lluís Larriba-Pey,et al.
Two-way replacement selection
,
2010,
Proc. VLDB Endow..
[15]
Roland H. C. Yap,et al.
Stochastic Database Cracking: Towards Robust Adaptive Indexing in Main-Memory Column-Stores
,
2012,
Proc. VLDB Endow..
[16]
Martin L. Kersten,et al.
Database Cracking
,
2007,
CIDR.