Format migration
Why is every format migration dual-write, cut over, drop?
Readers and writers upgrade at different times, so migration is always dual-write, cut over, drop:
- Write both the old and the new format.
- Move readers to the new one.
- Stop writing the old one and delete it.
This costs 2x during the window, and the risk is concentrated at the flip. It has the same structure as building an index online and as rolling out a schema change.