Author

Alfonso Subiotto Marques

Read more articles from this author
12 Demo-CRDB

Engineering

Disk spilling in a vectorized execution engine

Late last year, we shipped v1 of our vectorized execution engine. It enables column-based query execution and speeds up complex joins and aggregations, improving analytical capabilities in CockroachDB (which is first and foremost optimized for OLTP workloads). v1 of the engine didn’t support disk spilling, which meant it couldn’t execute certain memory-intensive queries if there was not enough memory available. Starting in CockroachDB v20.1, these queries fall back to disk (also known as “spilling” to disk).

Alfonso Subiotto Marques

June 30, 2020

SQLSmith Header IMG 2

Product

How we built a vectorized execution engine

CockroachDB is an OLTP database, specialized for serving high-throughput queries that read or write a small number of rows. As we gained more usage, we found that customers weren’t getting the performance they expected from analytic queries that read a lot of rows, like large scans, joins, or aggregations. In April 2018, we started to seriously investigate how to improve the performance of these types of queries in CockroachDB, and began working on a new SQL execution engine. In this blog post, we use example code to discuss how we built the new engine and why it results in up to a 4x speed improvement on an industry-standard benchmark.

Alfonso Subiotto Marques

October 31, 2019

gophercon-2-2023

Culture

Learning is good: Our 3 favorite talks at GopherCon 2019

Learning is Good is a program at Cockroach Labs that provides a stipend for employees to take advantage of resources for their professional development. Employees are encouraged to take courses, participate in workshops, attend conferences or obtain relevant certifications.

Alfonso Subiotto Marques

August 14, 2019

Get started with CockroachDB

Start a free trial of CockroachDB or contact sales to learn more.