SYSTEM AND METHODS FOR LIVE DATA MIGRATION
First Claim
Patent Images
1. A system for live data migration, the system comprising:
- one or more processors; and
memory storing instructions that, when executed by the one or more processors, cause the system to perform;
receiving a first query requesting a modification of a first table of a first database schema during a live migration of the first table to a second table of a second database schema, the first table storing live data;
modifying, based on the first query, a first row of a diff table corresponding to a first row of the first table;
updating a mutation table to indicate the requested modification of the first table, wherein the mutation table tracks one or more requested modifications to the first table;
receiving a second query requesting a read of a particular row of the first table during the live migration of the first table to the second table;
determining, in response to receiving the second query, whether the mutation table indicates a previous query requested modification of the particular row of the first table;
if the mutation table indicates the previous query requested modification of the particular row of the first table;
providing data of a particular row of the diff table corresponding to the particular row of the first table in response to the second query; and
if the mutation table does not indicate the previous query requested modification of the particular row of the first table;
providing the live data of the particular row of the first table in response to the second query.
8 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are provided for data migration. The system may comprise one or more processors and a memory storing instructions that, when executed by the one or more processors, cause the system to migrate at least one first table of a first database schema to at least one second table of a second database schema, determine a query for modifying the first table during the migration, modify the second table based at least in part on the query, and update a mutation table to describe the modification, wherein the mutation table at least describes the modification.
-
Citations
22 Claims
-
1. A system for live data migration, the system comprising:
-
one or more processors; and memory storing instructions that, when executed by the one or more processors, cause the system to perform; receiving a first query requesting a modification of a first table of a first database schema during a live migration of the first table to a second table of a second database schema, the first table storing live data; modifying, based on the first query, a first row of a diff table corresponding to a first row of the first table; updating a mutation table to indicate the requested modification of the first table, wherein the mutation table tracks one or more requested modifications to the first table; receiving a second query requesting a read of a particular row of the first table during the live migration of the first table to the second table; determining, in response to receiving the second query, whether the mutation table indicates a previous query requested modification of the particular row of the first table; if the mutation table indicates the previous query requested modification of the particular row of the first table; providing data of a particular row of the diff table corresponding to the particular row of the first table in response to the second query; and if the mutation table does not indicate the previous query requested modification of the particular row of the first table; providing the live data of the particular row of the first table in response to the second query. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-implemented method, the method being implemented by a computing system including one or more processors and storage media storing machine-readable instructions, the method comprising:
-
receiving a first query requesting a modification of a first table of a first database schema during a live migration of the first table to a second table of a second database schema, the first table storing live data; modifying, based on the first query, a first row of a diff table corresponding to a first row of the first table; updating a mutation table to indicate the requested modification of the first table, wherein the mutation table tracks one or more requested modifications to the first table; receiving a second query requesting a read of a particular row of the first table during the live migration of the first table to the second table; determining, in response to receiving the second query, whether the mutation table indicates a previous query requested modification of the particular row of the first table; if the mutation table indicates the previous query requested modification of the particular row of the first table; providing data of a particular row of the diff table corresponding to the particular row of the first table in response to the second query; and if the mutation table does not indicate the previous query requested modification of the particular row of the first table; providing the live data of the particular row of the first table in response to the second query. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 21)
-
-
19-20. -20. (canceled)
-
22. A non-transitory computer readable medium comprising instructions that, when executed, cause one or more processors to perform:
-
receiving a first query requesting a modification of a first table of a first database schema during a live migration of the first table to a second table of a second database schema, the first table storing live data; modifying, based on the first query, a first row of a diff table corresponding to a first row of the first table; updating a mutation table to indicate the requested modification of the first table, wherein the mutation table tracks one or more requested modifications to the first table; receiving a second query requesting a read of a particular row of the first table during the live migration of the first table to the second table; determining, in response to receiving the second query, whether the mutation table indicates a previous query requested modification of the particular row of the first table; if the mutation table indicates the previous query requested modification of the particular row of the first table; providing data of a particular row of the diff table corresponding to the particular row of the first table in response to the second query; and if the mutation table does not indicate the previous query requested modification of the particular row of the first table; providing the live data of the particular row of the first table in response to the second query.
-
Specification