Zero-downtime playbook for changing or moving a live production database
Company: Microsoft
Role: Product Manager
Category: System Design
Difficulty: medium
Interview Round: Other
You need to change a production database (refresh its data, update or upgrade it, or migrate it to a different system) while the clients that depend on it keep working normally. How would you plan and carry out the change?
```hint Separate the data move from the traffic switch
Most approaches that avoid client impact keep the old and new versions running side by side, keep them in sync, and move clients over gradually with a way back. Think about what must stay compatible during that overlap.
```
### Clarifying Questions
- Which change is this: a data refresh or reload, a schema change, an engine or version upgrade, or a move to a different database or cloud platform?
- Who are the clients: internal services behind an API, applications that connect to the database directly, or external customers, and what availability do they expect?
- How large is the database, how heavy is its write traffic, and is a brief read-only window acceptable or must writes never pause?
- Are there compliance requirements, such as data residency or audit trails, that the change must preserve?
### What a Strong Answer Covers
- An approach matched to the type of change: in place for compatible changes, side by side with replication for upgrades and migrations, an atomic swap for data refreshes
- Keeping old and new compatible during the overlap, for example by expanding a schema before contracting it and putting clients behind a stable access layer
- Data synchronization and verification: initial copy, ongoing change capture, and consistency checks before traffic moves
- A staged cutover with monitoring, clear go/no-go criteria and a rehearsed rollback path
- Planning and communication: risk assessment, rehearsals, notice to client teams and customers, and post-change validation
### Follow-up Questions
- Halfway through the cutover, error rates rise on the new database. What do you do, and what must already be in place?
- One legacy client connects to the database directly and cannot be changed quickly. How does that alter your plan?
- How would you convince leadership that the migration is worth its risk and cost?
Overview: A technical question for product managers about refreshing, upgrading or migrating a production database without disrupting the clients that depend on it. It tests knowledge of side-by-side migration, data synchronization, verification, staged cutover, rollback planning and stakeholder communication.