Engineering Blog

Engineering
Oct 27, 2023
Compile Times and Code Graphs
Recently, I've felt the pain of long Rust compile times at Materialize, and so was motived to improve them a bit. Here's how I did it.

Engineering
Feb 9, 2023
Building Differential Dataflow from scratch
Let's build (in Python) the Differential Dataflow framework at the heart of Materialize, and explain what it's doing along the way.

Engineering
Dec 6, 2022
Our experience with Rust!
Materialize is written in Rust. Why did we make that decision and how has it turned out for the project?

Engineering
Feb 16, 2022
Connecting Materialize directly to PostgreSQL via the Replication stream
The PostgreSQL write-ahead log (WAL) was originally created to enable hot standby's and multi-node setups, but it also works great as a source of data for Materialize. This article discusses how and why.

Engineering
Feb 1, 2022
Taming the beast that is a SQL database
In this article, we will talk about one of the ways we approach the testing of the SQL engine of the product at Materialize. We hope to cover other modules and interesting angles in the future.

Engineering
Apr 29, 2021
Generalizing linear operators in differential dataflow
Differential dataflow uses simple linear operators: map
, filter
, flat_map
and complex: explode
and temporal filter operators. But, with some thinking, we can generalize them all to a restricted form of join.

Engineering
Jan 11, 2021
Life in Differential Dataflow
Let's use Conway's Game of Life to illustrate how to write algorithms in differential dataflow.

Engineering
Jul 24, 2020
Streaming TAIL to the Browser - A One Day Project

Engineering
Jun 22, 2020