| Change event |
One committed row change: operation, primary key, post-image, optional pre-image, source commit timestamp, log position, transaction id, schema version and tenant id. |
The unit of transport, deduplication, ordering and lineage. |
A "record" or a "message", which hide whether a delete and a pre-image are included. |
| Log position |
The source's own monotonic coordinate for a change — an LSN in PostgreSQL — valid only within one timeline. |
Idempotency key component, ordering key within a row, resume point, and the thing snapshot handoff is anchored to. |
"Offset", which belongs to the consumer's progress through the change log, not to the source. |
| Offset |
One consumer's position in the change log. |
What makes a sink independently resumable, and what an operator resets to force a replay. |
Log position — the two are routinely conflated, and conflating them makes replay-from-position impossible to reason about. |
| Initial snapshot |
A read of the rows that already exist in a table, emitted as events with op = READ at the lowest precedence. |
Establishes state the stream never saw; the handoff to the stream is the hardest correctness problem in the design. |
"Backfill", which is also used for re-processing a stream, and so hides which of the two problems is being discussed. |
| Current-state mirror |
One row per primary key, maintained by idempotent upsert, with tombstones for deletes by default. |
What most consumers query. |
"Replica", which implies a guarantee of equivalence this store does not offer — it is eventually consistent and carries an as-of. |
| Changelog table |
An append-only record of every version of every row, keyed by primary key and log position. |
Audit, historical reconstruction, and the basis for computing current state as a view where that is preferred. |
"History table", which usually means a source-side temporal table maintained by the database itself. |
| Schema version |
A registered description of a table's columns, with the log position from which it is in force. |
Makes a replayed old event interpretable and makes compatible-versus-breaking a decidable question. |
A migration number, which records intent in the source repository rather than what the stream actually carries. |
| Compatible change |
A schema change — added nullable column, widened type, new table — that can be propagated without pausing anything. |
The common case, handled without a human. |
"Backwards-compatible", which in schema-registry usage is about readers and writers rather than about sinks and DDL. |
| Tombstone |
A row retained in the mirror marked deleted, with the deleting log position. |
Preserves history and keeps downstream joins visible rather than silently short. |
A broker-level null-payload tombstone used for log compaction, which is a different mechanism entirely. |
| Reconciliation verdict |
The recorded outcome of comparing source and sink by row count and sampled checksum for one table and sink. |
The platform's only correctness signal, and the number that makes coverage measurable. |
A "data quality check", which usually tests business rules rather than whether replication lost or garbled anything. |
| Freshness target |
The end-to-end lag a sink's owner declares it needs, against which the platform alarms. |
Turns lag from a graph into a contract, and makes per-sink isolation meaningful. |
"SLA", which implies a commercial commitment this internal platform is not making. |
| Source budget |
The declared ceiling on added CPU and added p99 write latency that snapshot and reconciliation reads may impose on a source. |
The mechanism by which the backfill, rather than the application, is the thing that slows down. |
"Rate limit", which suggests a fixed throughput rather than a budget measured on the source's own symptoms. |