A standalone course · Catch up on this repo + interview prep
CDC & Streaming-ETL, from newcomer to interview-ready
How a single row change in one service's database flows — as an event — into other services and the analytics warehouse, and the control plane that keeps ~248 connectors honest.
Every service's Postgres is quietly streaming its changes. Debezium reads the write-ahead log; Kafka Connect carries each change to where it's needed; JDBC sink connectors upsert it into other services' databases and the data warehouse; ksqlDB reshapes it along the way. And because you can't hand-write hundreds of connectors, this repo generates them from declarative YAML and reconciles them with a control plane called hephaestus. This course follows one row's change end to end — grounded in the real configs and code.
Part 1 — CDC foundations & the source available now
What change-data-capture is, and how Debezium turns a row change into an event.
1 · The pipeline map
The end-to-end flow, the three stacks, and log-based vs query-based CDC.
ready2 · Debezium & the WAL
Logical decoding (pgoutput), replication slots, and publications.
3 · Snapshots
Initial vs incremental — and adding a table without recreating the connector.
ready4 · The change event & topics
The Debezium envelope, Avro + Schema Registry, topics, and tombstones.
readyPart 2 — Kafka Connect & the sink available now
The framework that runs it all — and the generation + control plane that make it manageable.
5 · The Kafka Connect framework
Connectors/tasks/workers/converters/SMTs, distributed mode, the REST API.
ready6 · JDBC sink connectors
Idempotent upsert, the unwrap+route SMTs, dropped deletes.
7 · The connector-generation system
Declarative YAML → hundreds of connectors, schema-driven.
ready8 · hephaestus — the control plane
Git-as-desired-state reconcile, the delete-guard, the Helm hooks.
readyPart 3 — Transform, warehouse & the whole pipeline available now
Reshaping the stream, landing it in the warehouse, and the end-to-end guarantees.
9 · ksqlDB — stream processing
Streams vs tables, the dim_user join, ksqlDB-owned sinks.
10 · The data warehouse
The lmsdwh star schema, the medallion arc, and chained CDC.
ready11 · The end-to-end trace
bob → auth, hop by hop; delivery semantics; the dual-write problem.
ready12 · Operating the pipeline
Adding a table, monitoring & auto-heal — and the whole-course recap.
readyReference shelf
Cheat sheet
The pipeline, the source/sink configs, generation + hephaestus, interview one-liners.
Glossary
The canonical vocabulary, mapped to interview terms.
Repo CDC map
Ground truth: the three stacks, Debezium, sinks, generation, hephaestus, ksqlDB, warehouse — with file:line.
Resources
debezium.io, Confluent, ksqlDB — high-trust sources only.