Opening Scenario
Your company's monolith owns the canonical users, orders, and payments tables in Postgres. The recommendations team wants every user update reflected in their feature store within seconds; the search team needs new orders indexed into Elasticsearch within a minute; finance wants every payment row mirrored into the warehouse. Today, six different teams poll the monolith's read replica with cron jobs, each one running SELECT * WHERE updated_at > ? and inserting into their own destination. The DBA is angry — replication lag is spiking and the read replica's query cache is thrashed by overlapping scans. Someone says "we need a CDC pipeline." Before nodding, you have to decide what that actually looks like, what semantics it gives you, and what new failure modes it brings.
Question Progression
1. Why isn't "poll the source database" already CDC?
Question. Six cron jobs already capture changes. Why is that not Change Data Capture?
Reasoning. Polling…
In the full tutorial
- When to Reach for This