Skip to content
About
Main content
Time & Change

Change Data Capture & Incremental Processing

What does it cost to know what changed, and is that cheaper than not needing to know?

Who this mechanism is for: a developer who writes code, calls APIs and knows basic SQL, but has never built a pipeline that copies data out of a live database. You do not need to know what a , a message broker or a table format is. Every technical term is explained the first time it appears, and again in the glossary at the end.

The story we will follow

Tariq is a data engineer at Quillpost, a small newsletter-delivery company (it prints newsletters and delivers them to subscribers with its own drivers). The main application stores orders, customers, drivers and deliveries in a PostgreSQL database. This database is run by Lena, the database administrator (DBA). Tariq's job is to copy this data into an analytics warehouse every day, so that managers can see dashboards: orders per city, revenue per customer, late deliveries.

Until now Tariq rebuilt every warehouse table from scratch each night. The tables are growing, and the rebuild is taking hours. So Tariq decides to move to incremental processing: copy only the rows that changed. Over six weeks he will meet six problems, one at the start of each article below. Each problem looks like a bug. Each is actually a consequence of how change detection, ordering and arithmetic work. At the end of each article we go back and solve it.

The main idea of this mechanism:

How this mechanism is organized

After that: a summary, hands-on labs, interview questions and a glossary.

What do I do, and what does each option cost?

Can I see it myself?

Can I reason about it under questioning?

Trade-offs

The tensions this mechanism takes a position on. Each recurs across mechanisms.

Show all 7 trade-offs
Recurring principles

Ideas this mechanism meets that keep coming back, mechanism after mechanism.

Show all 10 principles