• Corpus ID: 233476154

Fast Compilation and Execution of SQL Queries with WebAssembly

  title={Fast Compilation and Execution of SQL Queries with WebAssembly},
  author={Immanuel Haffner and Jens Dittrich},
Interpreted execution of queries, as in the vectorized model, suffers from interpretation overheads. By compiling queries this interpretation overhead is eliminated at the cost of a compilation phase that delays execution, sacrificing latency for throughput. For short-lived queries, minimizing latency is important, while for longrunning queries throughput outweighs latency. Because neither a purely interpretive model nor a purely compiling model can provide low latency and high throughput… 
1 Citations

Figures from this paper

Towards Adaptive Storage Views in Virtual Memory

This work naturally fuse them by integrating an adaptive coarse-granular indexing scheme directly into the storage layer of DBMSs by utilizing tools of the virtual memory management subsystem provided by the OS.



Efficiently Compiling Efficient Query Plans for Modern Hardware

This work presents a novel compilation strategy that translates a query into compact and efficient machine code using the LLVM compiler framework and integrates these techniques into the HyPer main memory database system and shows that this results in excellent query performance while requiring only modest compilation time.

Adaptive Execution of Compiled Queries

This work proposes an adaptive execution framework, which dynamically switches from interpretation to compilation, and proposes a fast bytecode interpreter for LLVM, which can execute queries without costly translation to machine code and dramatically reduces the query latency.

Building Efficient Query Engines in a High-Level Language

LegoBase, a query engine written in the high-level programming language Scala, is presented and it is demonstrated that sufficiently powerful abstractions are essential for dealing with the complexity of the optimization effort, shielding developers from compiler internals and decoupling individual optimizations from each other.

Everything You Always Wanted to Know About Compiled and Vectorized Queries But Were Afraid to Ask

This paper experimentally compare the two models of vectorization and data-centric query processing by implementing both within the same test system, and finds that both are efficient, but have different strengths and weaknesses.

Volcano - An Extensible and Parallel Query Evaluation System

  • G. Graefe
  • Computer Science
    IEEE Trans. Knowl. Data Eng.
  • 1994
Volcano is the first implemented query execution engine that effectively combines extensibility and parallelism, and is extensible with new operators, algorithms, data types, and type-specific methods.

Relaxed Operator Fusion for In-Memory Databases: Making Compilation, Vectorization, and Prefetching Work Together At Last

A query processing model called "relaxed operator fusion" is presented that allows the DBMS to introduce staging points in the query plan where intermediate results are temporarily materialized and reduces the execution time of OLAP queries by up to 2.2× and achieves up to 1.8× better performance compared to other in-memory DBMSs.

Compiled Query Execution Engine using JVM

Both an interpreted and a compiled query execution engine are developed in a relational, Java-based, in-memory database prototype, and experimental results show that, despite both engines benefiting from JIT, the compiled engine runs on average about twice as fast as the interpreted one, and significantly faster than an in- memory database prototype.

Self-Driving Database Management Systems

The architecture of Peloton is presented, the first selfdriving DBMS, which enables new optimizations that are important for modern high-performance DBMSs, but which are not possible today because the complexity of managing these systems has surpassed the abilities of human experts.

Voodoo - A Vector Algebra for Portable Database Performance on Modern Hardware

This work uses Voodoo, a declarative intermediate algebra that abstracts the detailed architectural properties of the hardware, such as multi- or many-core architectures, caches and SIMD registers, without losing the ability to generate highly tuned code, to build an alternative backend for MonetDB, a popular open-source in-memory database.

RUMA has it: Rewired User-space Memory Access is Possible!

RUMA: Rewired User-space Memory Access allows for physiological data management and allows developers to freely rewire the mappings from virtual to physical memory (in user space) while at the same time exploiting the virtual memory support offered by hardware and operating system.