Learn
Nightly MySQL exports vs change data capture: when to switch
How nightly dumps and scheduled exports compare with real-time CDC for getting MySQL into BigQuery, and the signs it's time to switch.
A nightly export is how most teams start: dump the tables, load them into BigQuery, done. It works well until it doesn't.
How they compare
- Freshness: exports are as old as the last run; CDC is seconds behind.
- Load on MySQL: exports read every row of every table on each run; CDC reads the binary log, like a replica.
- Deletes: exports only remove deleted rows with full reloads; CDC applies them as they happen.
- BigQuery cost: full reloads rewrite whole tables; CDC writes only what changed.
- Effort: exports are scripts you maintain; managed CDC is a setup step.
Signs it's time to switch
- Dashboards are “wrong until tomorrow” and people ask for fresher data.
- The export window keeps growing and starts to overlap with business hours.
- Deleted or cancelled records still show up in reports.
- You need history: what a row looked like last week, not just now.
Moving over doesn't mean starting from scratch: a CDC pipeline copies the existing rows once, then streams changes. See how to replicate MySQL to BigQuery in real time.
Last updated October 5, 2026