What does it take to migrate 4.2 billion records and 6+ terabytes of live order data to DynamoDB, without stopping trading for a single second?
At Bitstamp, we did exactly that. No maintenance windows. No rollback. No critical outages. But the path there was anything but smooth, the migration took four months longer than planned and generated more production incidents than we’re proud of.
We’ll walk through the architecture that made it possible: dual-write pipelines, gradual read ramp, feature flags, and a row-level discrepancy checker that caught every correctness bug before cutover. And we’ll be equally honest about what hurt: observability gaps, schema churn mid-migration, chaos testing that came too late, and why we still couldn’t eliminate the MySQL table we set out to replace.