Schema migration

Since meaning of the data often cannot be encoded, the configuration of the tools usually needs manual intervention.

Schema migration allows for fixing mistakes and adapting the data as requirements change.

The surprises can come from many sources: For these reasons, the migration process needs a high level of discipline, thorough testing and a sound backup strategy.

Since both individual strategies ensure that the database can remain online without interruption, the combined approach achieves the same as well.

This strategy allows for more fine grained control over the backfill, which can be divided into smaller batches, and feature flags may be used to toggle both the reading and writing paths more freely and separately from each other.

This can also be useful when regular dual writing alone can't be guaranteed to happen in consistent transactions.

With schema migration technology, data models no longer need to be fully designed up-front, and are more capable of being adapted with changing project requirements throughout the software development lifecycle.

This approach ensures that the information necessary to recover a compatible database schema for a particular code branch is recoverable from the source tree itself.