Modern databases can choose between two approaches to evaluating queries with
high performance: Query Compilation compiles each query to optimized machine
code, while Vectorization interprets queries using BLAS-style primitives.
Query compilation offers more optimization potential for LLVM, while
vectorization doesn’t require runtime compilation.
We explain how these techniques work and how we combine them, showcasing how
Julia lets us have the best of both.