Skip to content

What is CDC (Change Data Capture)?

A technique that captures changes in a source database (inserts, updates, deletes) and propagates them to the data platform in near real time.

CDC (Change Data Capture) is the technique that captures changes in a database (new rows, updates, deletions) and propagates them to another system in near real time. Instead of re-copying entire tables every night, CDC transfers only what changed, the moment it changes. It is the mechanism behind most "near real-time" synchronization between operational systems and the data platform. The most common approach reads the transaction log every transactional database already keeps to guarantee data integrity, turning each write into an event delivered downstream without hitting the source with repeated queries. CDC tools (Debezium in the open source world, cloud providers' replication services, native features of data platforms) read that log, so the ERP or the e-commerce site does not slow down. It is the mechanism underlying both continuous synchronization between operational systems and the data platform, and zero-downtime migrations, where the old and new database stay aligned while both are still fully in production.

See also: Data ingestion · The process that moves data from source systems (ERP, CRM, sensors, APIs) into the data platform: in batch, streaming or via CDC.

How it works

The most robust approach is log-based: every transactional database keeps an internal record of all writes (the transaction log), which it uses to guarantee data integrity. CDC tools (Debezium in the open source world, the cloud providers' replication services, or the native features of data platforms) read that log and turn each change into an event delivered downstream. The decisive advantage: the source system is never hit with continuous queries, so your ERP or e-commerce does not slow down. There are three alternatives, and they behave differently. Query-based CDC filters on a last-modified column: it is the easiest to set up, but it never sees deletions and polls the source repeatedly. Trigger-based CDC writes changes into an audit table inside the same transaction, so it does capture deletions, at the cost of slowing every write on the source and of triggers to maintain on every schema change. Diffing whole tables on a schedule sees everything, but costs as much as re-copying the database each time. At modest volumes all of them are workable; log-based is the one that scales without touching the source.

Why it matters for your business

Two scenarios make it valuable. The first is continuous synchronization: dashboards, applications and models working on data updated seconds ago, without waiting for the nightly load and without building a full streaming architecture. The second is zero-downtime migrations: when you move a database or an ERP, CDC keeps the old and the new system aligned while both are live, so the final switch takes minutes instead of a weekend of downtime. It is also the healthiest way to feed a data lakehouse from operational systems: every change arrives as an event, with its history, instead of overwriting full snapshots. The price is one more pipeline to look after: CDC needs monitoring, because a silent delay produces stale data that looks fresh.

  • Data ingestion · The process that moves data from source systems (ERP, CRM, sensors, APIs) into the data platform: in batch, streaming or via CDC.
  • Event sourcing · Recording every state change as a sequence of immutable events, instead of storing only the latest value.
  • ETL vs ELT · Same three steps, different order: ETL transforms data before loading it, ELT loads it raw and transforms it inside the destination platform.
  • Database-per-service · Each microservice owns its own datastore and no other service reads it directly, only through its exposed interfaces.
  • Strangler fig pattern · Replacing a legacy system gradually, routing traffic to the new one until the old system is no longer needed.

See it in the universe

If it touches your company's data, getting that data in order is the first thing I do.

SEE DATA FOUNDATIONS

Or write to me.