Everything you always wanted to know about compiled and vectorized queries but were afraid to ask

Timo Kersten, Viktor Leis, Alfons Kemper, Thomas Neumann, Andrew Pavlo, Peter Boncz

Research output: Contribution to journalConference articlepeer-review

100 Scopus citations

Abstract

The query engines of most modern database systems are either based on vectorization or data-centric code generation. These two state-of-the-art query processing paradigms are fundamentally different in terms of system structure and query execution code. Both paradigms were used to build fast systems. However, until today it is not clear which paradigm yields faster query execution, as many implementation-specific choices obstruct a direct comparison of architectures. In this paper, we experimentally compare the two models by implementing both within the same test system. This allows us to use for both models the same query processing algorithms, the same data structures, and the same parallelization framework to ultimately create an apples-to-apples comparison. We find that both are efficient, but have different strengths and weaknesses. Vectorization is better at hiding cache miss latency, whereas data-centric compilation requires fewer CPU instructions, which benefits cacheresident workloads. Besides raw, single-threaded performance, we also investigate SIMD as well as multi-core parallelization and different hardware architectures. Finally, we analyze qualitative differences as a guide for system architects.

Original languageEnglish
Pages (from-to)2209-2222
Number of pages14
JournalProceedings of the VLDB Endowment
Volume11
Issue number13
DOIs
StatePublished - 2018
Event44th International Conference on Very Large Data Bases, VLDB 2018 - Rio de Janeiro, Brazil
Duration: 27 Aug 201831 Aug 2018

Fingerprint

Dive into the research topics of 'Everything you always wanted to know about compiled and vectorized queries but were afraid to ask'. Together they form a unique fingerprint.

Cite this