CDC Initial Snapshot
The consistent full copy taken when a CDC pipeline starts, before streaming begins — and the step that determines whether the target is correct.
A change stream only contains changes from the moment it starts. To reach a correct state the target needs the existing data, and the snapshot must join to the stream without a gap and without duplicates.
The classic approach takes a consistent read of the tables while recording the exact log position of that read, then streams from that position. Correct, and it holds a long-running read on large tables — which can block schema changes and, on some engines, cause bloat.
Incremental snapshotting (Debezium's implementation of the DBLog approach) is the modern answer: the table is read in chunks while streaming continues, with the connector reconciling chunk reads against concurrent stream events. No long lock, snapshotting can be paused and resumed, and a table can be re-snapshotted on demand without restarting the pipeline.
Two practical notes. Consumers must be idempotent regardless, because the snapshot-to-stream join can produce a duplicate at the boundary and every recovery path re-emits some data. And snapshots are not only for bootstrap — being able to re-snapshot one table is what you need when a bug corrupted the target, so it is worth confirming the capability exists before you need it.