Uniform model for distinct types of data replication
A uniform model for distinct types of data replication, including receiving, at a source data repository, an update to a dataset; generating, based on the update to the dataset, both metadata describing the update to the dataset and also a metadata representation of the dataset; and initiating, based on the same metadata describing the update to the dataset and also based on the same metadata representation of the dataset, either a first type of data replication or a second type of data replication from among a plurality of types of data replication.
1. A method implemented by a computing device that includes a processor and a memory, the method comprising:
receiving, at a source data repository, an update to a dataset, wherein the dataset is being replicated with a first type of replication corresponding to near-synchronous data replication;
during the first type of replication, generating, by the processor, based on the received update to the dataset, first metadata describing the update to the dataset and a metadata representation of the dataset, wherein the metadata representation includes extent identifiers for logical extents of the dataset; and
based on the metadata describing the update to the dataset and the metadata representation preserved from the first type of replication, replicating the update using the second type of replication, wherein the second type of replication corresponds to dynamically determined snapshot updates, and wherein the first type of replication and the second type of replication are among a plurality of types of data replication available to the source data repository based on the first metadata describing the update to the dataset and the metadata representation of the dataset.
2. The method of claim 1 , wherein the first type of data replication is a distinct type of data replication from a second type of data replication available to the source data repository.
3. The method of claim 2 , wherein the first type of data replication and the second type of data replication are among the plurality of types of data replication, including, synchronous replication, configurable asynchronous data replication, periodic data replication, snapshot-based data replication, continuous data replication, and a combination of the type of replication corresponding to configurable asynchronous data replication and dynamically determined snapshot updates.
4. The method of claim 3 , wherein the first type of data replication is a combination of the type of replication corresponding to configurable asynchronous data replication and the type of replication corresponding to dynamically determined snapshot updates, wherein the dynamically determined snapshot updates are based on asynchronous data replication surpassing a backlog threshold resulting from the type of replication corresponding to asynchronous data replication not occurring with sufficient frequency.
5. The method of claim 4 , wherein subsequent to sending one or more dynamically determined snapshot updates from the source data repository to a target data repository, asynchronous data replication continues from the source data repository to the target data repository without snapshots while the backlog threshold is not surpassed.
6. The method of claim 5 , wherein data and metadata included within a dynamically determined snapshot update is excluded from subsequent data and metadata transfers in subsequent asynchronous data replication transfers from the source data repository to the target data repository.
7. The method of claim 1 , wherein the metadata describing the update to the dataset is included within an ordered log of metadata comprising one or more checkpoints.
8. The method of claim 7 , wherein a quantity of updates described by a given checkpoint is a configurable data replication setting.
9. The method of claim 8 , wherein the configurable data replication setting is target recovery point objective.
10. The method of claim 1 , further comprising switching from a current type of data replication to a new type of data replication from among the plurality of types of data replication, wherein the current type of data replication is a distinct type of data replication from the new type of data replication.
11. The method of claim 1 , wherein the metadata references content identifiers on the respective source data repository and target data repository, the method further comprising identifying content on the target data repository that is the same content on the source data repository, wherein content is identified as being the same based on sharing a common definition for respective content identifiers on the source data repository and the target data repository and further comprising avoiding transfers of data corresponding to content on the target data repository that is the same content on the source data repository.
12. A storage system that includes a computer memory and a computer processor, the computer memory including program instructions that, when executed by the computer processor, cause the storage system to carry out the steps of:
receiving, at a source data repository, an update to a dataset, wherein the dataset is being replicated with a first type of replication corresponding to near-synchronous data replication;
during the first type of replication, generating, by the processor, based on the received update to the dataset, first metadata describing the update to the dataset and a metadata representation of the dataset, wherein the metadata representation includes extent identifiers for logical extents of the dataset; and
based on the metadata describing the update to the dataset and the metadata representation preserved from the first type of replication, replicating the update using the second type of replication, wherein the second type of replication corresponds to dynamically determined snapshot updates, and wherein the first type of replication and the second type of replication are among a plurality of types of data replication available to the source data repository based on the first metadata describing the update to the dataset and the metadata representation of the dataset.
13. The storage system of claim 12 wherein the first type of data replication is a distinct type of data replication from a second type of data replication available to the storage system.
14. The storage system of claim 13 , wherein the first type of data replication and the second type of data replication are among the plurality of types of data replication, including, synchronous replication, configurable asynchronous data replication, periodic data replication, snapshot-based data replication, continuous data replication, and a combination of the type of replication corresponding to configurable asynchronous data replication and dynamically determined snapshot updates.
15. The storage system of claim 14 , wherein the first type of data replication is a combination of the type of replication corresponding to configurable asynchronous data replication and the type of replication corresponding to dynamically determined snapshot updates, wherein the dynamically determined snapshot updates are based on asynchronous data replication surpassing a backlog threshold resulting from the type of replication corresponding to asynchronous data replication not occurring with sufficient frequency.
16. The storage system of claim 15 , wherein subsequent to sending one or more dynamically determined snapshot updates from the source data repository to a target data repository, asynchronous data replication continues from the source data repository to the target data repository without snapshots while the backlog threshold is not surpassed.
17. The storage system of claim 16 , wherein data and metadata included within a dynamically determined snapshot update is excluded from subsequent data and metadata transfers in subsequent asynchronous data replication transfers from the source data repository to the target data repository.
18. The storage system of claim 16 , wherein a quantity of updates described by a given checkpoint is a configurable data replication setting.
19. The storage system of claim 18 , wherein the configurable data replication setting is target recovery point objective.
20. The storage system of claim 12 , wherein the metadata describing the update to the dataset is included within an ordered log of metadata comprising one or more checkpoints.