Explicitly flagged as real-world context, not exam material (
53:46).
The insight
- Recovery = "take the WAL, look at the changes, apply them to a database." Nothing says it has to be the same database (
54:13,54:33). - Ship the WAL to another system and apply it there → the second system is permanently in a kind of virtual recovery mode. This is also how distributed systems do replication (
54:33). - Called change data capture (CDC), used to feed OLTP → data warehouse ETL pipelines (the topic of the earlier dbt guest talk) (
53:46,54:13).
graph LR
PG["OLTP DB<br/>(e.g. PostgreSQL)"] -->|WAL entries| DBZ["Debezium<br/>(CDC connector)"]
DBZ -->|ordered stream| K["Kafka"]
K --> MY["MySQL"]
K --> SF["Snowflake"]
K --> DW["Data warehouse / ETL"]
Why WAL-based CDC is the easy way
- The mechanism already exists for recovery — you just send the log elsewhere; the alternative is replicating queries (
54:33,55:15). - Tools named: Oracle GoldenGate (the most famous) and Debezium, the open-source Red Hat tool (
55:41). - Debezium moves the WAL between systems; Kafka guarantees the data arrives in order (
55:58). - The target need not be the same DBMS — pull PostgreSQL WAL entries, ship over Kafka, replay into MySQL or Snowflake. A very common pattern (
1:17:17,1:17:53).