SonicJoin: fast, robust and worst-case optimal
File(s)3-paper-44.pdf (1.16 MB)
Published version
Author(s)
Khazaie, Ahmad
Pirk, Holger
Type
Conference Paper
Abstract
The establishment of the AGM bound on the size of intermediate results of natural join queries has led to the development of several so-called worst-case join algorithms. These algorithms provably produce intermediate results that are (asymptotically) no larger than the final result of the join. The most notable ones
are the Recursive Join, its successor, the Generic Join and the Leapfrog-Trie-Join. While algorithmically efficient, however, all of these algorithms require the availability of index structures that allow tuple lookups using the prefix of a key. Key-prefix-lookups in relational database systems are commonly supported by tree-based index structures since hash-based indices only support full-key lookups. In this paper, we study a wide variety of
main-memory-oriented index structures that support key-prefix-lookups with a specific focus on supporting the Generic Join. Based on that study, we develop a novel, best-of-breed index structure called Sonic that combines the fast build and point lookup properties of hashtables with the prefix-lookups capabilities of trees and tries. To evaluate the performance of a variety of indices for worst-case optimal joins in a modern code-generating DBMS, we leveraged flexible, compile-time metaprogramming features to build a framework that creates highly efficient code, interweaving (at a microarchitectural level) a generic join implementation with any appropriate index structure. We demonstrate
experimentally that in that framework, Sonic outperforms the
fastest existing approaches by up to 2.5 times when supporting the Generic Join algorithm.
are the Recursive Join, its successor, the Generic Join and the Leapfrog-Trie-Join. While algorithmically efficient, however, all of these algorithms require the availability of index structures that allow tuple lookups using the prefix of a key. Key-prefix-lookups in relational database systems are commonly supported by tree-based index structures since hash-based indices only support full-key lookups. In this paper, we study a wide variety of
main-memory-oriented index structures that support key-prefix-lookups with a specific focus on supporting the Generic Join. Based on that study, we develop a novel, best-of-breed index structure called Sonic that combines the fast build and point lookup properties of hashtables with the prefix-lookups capabilities of trees and tries. To evaluate the performance of a variety of indices for worst-case optimal joins in a modern code-generating DBMS, we leveraged flexible, compile-time metaprogramming features to build a framework that creates highly efficient code, interweaving (at a microarchitectural level) a generic join implementation with any appropriate index structure. We demonstrate
experimentally that in that framework, Sonic outperforms the
fastest existing approaches by up to 2.5 times when supporting the Generic Join algorithm.
Date Issued
2023-03-20
Date Acceptance
2023-01-30
Citation
Proceedings 26th International Conference on Extending Database Technology ( EDBT 2023 ), 2023, 26 (3), pp.540-551
ISBN
978-3-89318-092-9
ISSN
2367-2005
Publisher
OpenProceedings.org
Start Page
540
End Page
551
Journal / Book Title
Proceedings 26th International Conference on Extending Database Technology ( EDBT 2023 )
Volume
26
Issue
3
Copyright Statement
© 2023 Copyright held by the owner/author(s). Distribution of this paper is permitted under the terms of the Creative Commons license CC-by-nc-nd 4.0 (https://creativecommons.org/licenses/by-nc-nd/4.0/).
Source
EDBT 2023
Publication Status
Published
Start Date
2023-03-28
Finish Date
2023-03-31
Coverage Spatial
Ionnina, Greece