Meta Platforms, Inc.
Migrating across database deployments
Last updated:
Abstract:
Technology for migrating database shards from a source deployment to a destination deployment can be accomplished while maintaining a particular level of availability, reliability, and consistency. A process for this migration can include setting up destination shards as followers of shards on the source such that the destination shards receive stored data and have write operations mirrored from the source shards to the destination shards. The process can set an epoch counter for the destination shards higher than a corresponding epoch counter for the source shards. Next, the process can disable writing for the source shards. The process can also perform a special write to determine when the source write pipeline is empty. The process can wait for the shard migration to complete, then configure the destination shards to no longer be followers of the source shards, but instead be primary shards to handle database operations for the stored data.
Utility
12 Sep 2017
29 Sep 2020