Seamless data migration across databases
First Claim
Patent Images
1. A method of facilitating data requests from consumers to resources in a distributed computing environment, comprising:
- receiving a request for interacting with a database from a data consumer; and
communicating the request to a data storage resource storing the database, the communicating carried out regardless of migration state of the database, wherein communicating the request comprises;
confirming whether one or more partitions of the database are in an active state, wherein confirming that the one or more partitions of the database are in the active state comprises;
communicating with a data locator to retrieve an indication of an active one or more partitions of the database to serve the request, wherein the indication of the active one or more partitions comprises a directed partition;
reading metadata associated with the one or more partitions;
determining whether or not the data locator and the directed partition indicate a same active partition;
in response to determining that the data locator and the directed partition indicate the same active partition;
returning the active partition; and
in response to determining that the data locator and the directed partition do not indicate the same active partition;
querying metadata on a corresponding partition on a remaining database for the active partition;
selecting the active partition directed by a majority of the data locator, the directed partition and the corresponding partition; and
returning the active partition; and
in response to the active state of the one or more partitions being not confirmed, communicating the request to the database by performing the request on one of a source resource from or a target resource to which at least one of the one or more partitions is being migrated.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques are disclosed for enabling the migration of data with minimized impact on consumers of the data. A data migration agent updates pointers to active data locations and coordinates a migration from a first data resource to a second data resource so that seamless migration may be carried out. A data access layer of a distributed computing environment can take advantage of the pointers and metadata written by the data migration agent to serve requests to resources of the distributed computing environment so that read availability is available regardless of migration status.
30 Citations
15 Claims
-
1. A method of facilitating data requests from consumers to resources in a distributed computing environment, comprising:
-
receiving a request for interacting with a database from a data consumer; and communicating the request to a data storage resource storing the database, the communicating carried out regardless of migration state of the database, wherein communicating the request comprises; confirming whether one or more partitions of the database are in an active state, wherein confirming that the one or more partitions of the database are in the active state comprises; communicating with a data locator to retrieve an indication of an active one or more partitions of the database to serve the request, wherein the indication of the active one or more partitions comprises a directed partition; reading metadata associated with the one or more partitions; determining whether or not the data locator and the directed partition indicate a same active partition; in response to determining that the data locator and the directed partition indicate the same active partition; returning the active partition; and in response to determining that the data locator and the directed partition do not indicate the same active partition; querying metadata on a corresponding partition on a remaining database for the active partition; selecting the active partition directed by a majority of the data locator, the directed partition and the corresponding partition; and returning the active partition; and in response to the active state of the one or more partitions being not confirmed, communicating the request to the database by performing the request on one of a source resource from or a target resource to which at least one of the one or more partitions is being migrated. - View Dependent Claims (2, 3, 5)
-
-
4. A method of facilitating data requests from consumers to resources in a distributed computing environment, comprising:
-
receiving a request for interacting with a database from a data consumer; obtaining a location of an active partition according to a pointer indicating an active data source, the pointer indicating whether a source partition or a target partition is the active data source; if the pointer indicates that the source partition is the active data source, communicating with the source partition to read source partition metadata, wherein the source partition metadata indicates whether the source partition is in an active state or an inactive state; if the source partition metadata of the source partition indicates that the source partition is in the active state, confirming that the source partition is the active partition and servicing the request from the data consumer using the source partition; if the source partition metadata of the source partition indicates that the source partition is in the inactive state, communicating with the target partition to confirm that the target partition is the active partition and service the request from the data consumer using the target partition; if the pointer indicates that the target partition is the active data source, communicating with the target partition to read target partition metadata, wherein the target partition metadata indicates whether the target partition is in the active state or the inactive state; if the target partition metadata of the target partition indicates that the target partition is in the active state, confirming that the target partition is the active partition and servicing the request from the data consumer using the target partition; and if the target partition metadata of the target partition indicates that the target partition is in the inactive state, communicating with the source partition to confirm that the source partition is the active partition and servicing the request from the data consumer using the source partition. - View Dependent Claims (13, 14, 15)
-
-
6. A system for facilitating data requests from consumers to resources, the system comprising:
-
a server comprising a data access layer, the data access layer receiving a request for interacting with a database from a data consumer and communicating the request to a data storage resource storing the database, the communication carried out regardless of migration state of the database, wherein the communicating of the request by the data access layer to the data storage resource storing the database comprises; communicating with a data locator service to obtain a location of an active partition according to a pointer indicating an active data source, the pointer indicating whether a source partition or a target partition is the active data source; if the pointer indicates that the source partition is the active data source, communicating with the source partition to read source partition metadata, wherein the source partition metadata indicates whether the source partition is in an active state or an inactive state; if the source partition metadata of the source partition indicates that the source partition is in the active state, confirming that the source partition is the active partition and servicing the request from the data consumer using the source partition; if the source partition metadata of the source partition indicates that the source partition is in the inactive state, communicating with the target partition to confirm that the target partition is the active partition and service the request from the data consumer using the target partition; if the pointer indicates that the target partition is the active data source, communicating with the target partition to read target partition metadata, wherein the target partition metadata indicates whether the target partition is in the active state or the inactive state; if the target partition metadata of the target partition indicates that the target partition is in the active state, confirming that the target partition is the active partition and servicing the request from the data consumer using the target partition; and if the target partition metadata of the target partition indicates that the target partition is in the inactive state, communicating with the source partition to confirm that the source partition is the active partition and servicing the request from the data consumer using the source partition. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
Specification