Choose a snapshot.mode: initial performs a full table scan on first startup and then switches to streaming; never skips the snapshot; exported or initial_only are useful for one-shot migrations.
For large tables where a full initial snapshot would take too long or lock rows, use the incremental snapshot feature introduced in Debezium 1.6+: send a signal to the signaling table or Kafka topic to start an ad-hoc incremental snapshot of specific tables.
Incremental snapshots use a watermarking algorithm that interleaves snapshot chunks with the ongoing binlog/WAL stream, so no table lock is held beyond the chunk read.
Configure snapshot.fetch.size and the chunk size signal parameter to control memory pressure; smaller chunks reduce memory but increase the number of round trips.
Monitor the Debezium metrics (snapshot rows scanned, remaining tables) exposed via JMX or the metrics endpoint to track progress.
After the incremental snapshot completes, the connector continues streaming changes from the WAL without interruption.
Known gotchas
Incremental snapshots require a signaling table on the source database; the connector's DB user must have INSERT privilege on that table.
If the source table has no suitable unique key, incremental snapshot chunking falls back to a full-table scan or may be unsupported depending on connector version.
Using snapshot.mode=never with a fresh connector means no historical data is captured; only changes after connector start are emitted.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp