Paper: MonetDB/X100: Hyper-Pipelining Query Execution

This articles is notes taken from the paper: MonetDB/X100: Hyper-Pipelining Query Execution. It was published in 2005 at The Conference on Innovative Data Systems Research (CIDR) Conference.

Series: Papers adopted by DuckDB

DuckDB can handle analytical query workloads incredibly fast. This series is my notes from the publications adopted by DuckDB (listed here).

  • Vectorized Query Engine : this article
  • Fast Serializable MVCC
  • Join Ordering Optimization (coming soon)
  • Unnesting Subqueries (coming soon)

Note: though the concept of vectorized query execution model is adopted by DuckDB, the storage model explained in this paper is not the same as DuckDB’s one. Each column data is stored separatly in MonetDB whereas DuckDB storage uses row groups as mentioned here.

What is it about?

This paper proposes a vectorized query execution model in DBMS for better utilization of modern CPUs, comparing it against traditional volcano iterator model.

Interpretation of query

CPU cache utilization

Example:

CPU Pipeline Execution

Benchmarks

Notes on Monet DB