Want to connect with Materialize? Join our growing community on Slack!
Deep-diveRust for Data-Intensive Computation

I have some thoughts on the use of Rust for data-intensive computations. Specifically, I’ve found several of Rust’s key idioms line up very well with the performance and correctness needs of data-intensive computing. If you want a tl;dr for the post: I’ve built multiple high-performance, distributed data processing platforms in Rust, and I never learned […]

Deep-diveMaterialize: Roadmap to Building a Streaming Database on Timely Dataflow

How do you build a streaming database from scratch?

Deep-diveCMU DB Talk: Building Materialize

This is an edited transcript and video of a talk that I gave at Carnegie Mellon’s Database Group Seminar on June 1st, 2020, hosted by Andy Pavlo. You can watch it, or read along! Introduction and Background First things first, you can download Materialize right now! For our agenda today, I’m first going to talk […]

NewsRelease: Materialize 0.3

We recently announced Materialize, a real-time streaming SQL database that powers production applications. The latest release of Materialize, version 0.3, is now available. Materialize lets you ask questions in real-time of your streaming data and get the latest answers back in milliseconds — offering the power and flexibility of a SQL database, but scaling to […]

Deep-diveManaging memory with differential dataflow

Self-compacting dataflows Those of you familiar with dataflow processing are likely also familiar with the constant attendant anxiety: won’t my constant stream of input data accumulate and eventually overwhelm my system? That’s a great worry! In many cases tools like differential dataflow work hard to maintain a compact representation for your data. At the same […]

Deep-diveWhat consistency guarantees should you expect from your streaming data platform?

In-order reliable message delivery is not enough. Showing views over streams of data requires thinking through additional consistency semantics to deliver correct results.

Deep-diveUpserts in Differential Dataflow

“Upserts” are a common way to express streams of changing data, especially in relational settings with primary keys. However, they aren’t the best format for working with incremental computation. We’re about to learn why that is, how we deal with this in differential dataflow and Materialize, and what doors this opens up! This post is […]

Deep-diveWhat’s inside Materialize? An architecture overview

Materialize lets you ask questions about your streaming data and get fresh answers with incredibly low latency. Since announcing Materialize’s v0.1, we’ve briefly covered its functionality and how one might use it at a high level. Today we’re going to get a little more granular and talk about Materialize’s internals and architecture. The Big Picture […]

Deep-diveTaking Materialize for a spin on NYC taxi data

Trying out Materialize This post will also be available at my personal blog. We all at Materialize are working from home, and while this is all a bit weird and different, it gives me some time to write a bit more and try and show off some of what we have been up to. I […]

Deep-diveView Maintenance: A New Approach to Data Processing

It’s with a great deal of excitement, and some trepidation, that we are now able to show off what we have been working on at Materialize. The Materialize product is a “streaming data warehouse”, which is a class of product you might not be familiar with as, to the best of our knowledge, there wasn’t […]

About This Blog

Welcome! On our blog, you’ll hear more about the inner workings of Materialize – what we’ve built, what we plan to build, and how it all works together.

New here? Read these