CDC for minimal-downtime Spanner migration — Datastream + Pub/Sub + Dataflow
A bulk migration takes hours; the application can't be offline that long. CDC keeps the source and destination in sync while the bulk runs, and a quick cutover swaps traffic. The handoff between bulk and CDC is where most migrations go wrong.