Transformative migration of static data
First Claim
1. A computer-implemented method comprising:
- identifying, by one or more computing devices including a processing unit and memory, a first database table with a first characteristic;
creating, by the one or more computing devices, a second database table with a second characteristic that is different than the first characteristic in at least one of a table schema, an encryption key, or a data structure;
creating, by the one or more computing devices, a primary key index for the second database table;
creating or updating, by the one or more computing devices, a status table prior to a first phase of data migration to indicate that, during the first phase of data migration, the first database table is accessible to at least one data reading process and the first database table is accessible to at least one data writing process, wherein information included in the first database table and information included in the second database table are not included in the status table;
migrating, by the one or more computing devices and during the first phase of data migration, a first portion of data stored in the first database table to the second database table while transforming the first portion of data from the first characteristic to the second characteristic, the first portion of data being at least as old as a threshold age;
creating, by the one or more computing devices, one or more other indices for the second database table;
updating, by the one or more computing devices, the status table prior to a second phase of data migration to indicate that, during the second phase of data migration, the first database table is accessible to the at least one data writing process and to the at least one data reading process;
the second database table is not accessible to the at least one data reading process; and
the second database table is accessible to the at least one data writing process; and
migrating, by the one or more computing devices and during the second phase of data migration, a second portion of data stored in the first database table to the second database table while transforming the second portion of data from the first characteristic to the second characteristic, the second portion of data being more recent than the threshold age.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are described for migrating data from a first table to a second table while transforming at least one characteristic of the data. Characteristics transformed may include one or more of an encryption key or method, a table schema, a data structure, or a storage infrastructure. Migration may be performed in two or more phases. A first phase may migrate and transform a majority of the data, such as data that is older than a certain threshold age. A second phase may migrate and transform the remaining, newer data. A status table may indicate which tables are active and are to be written to and read from during data writing and data consuming processes. Moreover, embodiments support data replication across multiple regions.
-
Citations
27 Claims
-
1. A computer-implemented method comprising:
-
identifying, by one or more computing devices including a processing unit and memory, a first database table with a first characteristic; creating, by the one or more computing devices, a second database table with a second characteristic that is different than the first characteristic in at least one of a table schema, an encryption key, or a data structure; creating, by the one or more computing devices, a primary key index for the second database table; creating or updating, by the one or more computing devices, a status table prior to a first phase of data migration to indicate that, during the first phase of data migration, the first database table is accessible to at least one data reading process and the first database table is accessible to at least one data writing process, wherein information included in the first database table and information included in the second database table are not included in the status table; migrating, by the one or more computing devices and during the first phase of data migration, a first portion of data stored in the first database table to the second database table while transforming the first portion of data from the first characteristic to the second characteristic, the first portion of data being at least as old as a threshold age; creating, by the one or more computing devices, one or more other indices for the second database table; updating, by the one or more computing devices, the status table prior to a second phase of data migration to indicate that, during the second phase of data migration, the first database table is accessible to the at least one data writing process and to the at least one data reading process;
the second database table is not accessible to the at least one data reading process; and
the second database table is accessible to the at least one data writing process; andmigrating, by the one or more computing devices and during the second phase of data migration, a second portion of data stored in the first database table to the second database table while transforming the second portion of data from the first characteristic to the second characteristic, the second portion of data being more recent than the threshold age. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system comprising:
-
at least one processor; at least one data storage medium, storing; a first table with a first characteristic; a second table with a second characteristic that is different from the first characteristic; and a status table indicating which of the first table and the second table are available for access by at least one writing process and at least one reading process, wherein information included in the first table and information included in the second table are not included in the status table; and a data migration component executed by the at least one processor to; update the status table to indicate that, during a first phase of data migration, the first table is accessible to the at least one reading process and the first table is accessible to the at least one writing process; migrate, during the first phase of data migration, a first data portion stored in the first table to the second table while transforming the first data portion from the first characteristic to the second characteristic; update the status table to indicate that, during a second phase of data migration, the first table is accessible to the at least one reading process and to the at least one writing process, the second table is not accessible to the at least one reading process, and the second table is accessible to the at least one writing process; and migrate, during the second phase of data migration, a second data portion stored in the first table to the second table while transforming the second data portion to the second characteristic, the second data portion being more recent than a threshold age. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer-implemented method comprising:
-
updating, by one or more computing devices including a processing unit and memory, a status table to indicate that, during a first phase of data migration, a first database table is accessible to at least one data reading process and to at least one data writing process, wherein information included in the first database table and information included in a second database table are not included in the status table; migrating, by the one or more computing devices and during the first phase of data migration, a first data portion stored in the first database table with a first characteristic to the second database table with a second characteristic that is different from the first characteristic, while transforming the first data portion from the first characteristic to the second characteristic; updating, by the one or more computing devices, the status table to indicate that, during a second phase of data migration, the first database table is accessible to the at least one data reading process and to the at least one data writing process, the second database table is not accessible to the at least one data reading process, and the second database table is accessible to the at least one data writing process; and migrating, by the one or more computing devices, a second data portion stored in the first database table to the second database table while transforming the second data portion from the first characteristic to the second characteristic, the second data portion being more recent than a threshold age. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. One or more non-transitory computer-readable storage media storing instructions that, when executed, instruct at least one processor to perform actions comprising:
-
updating a status table to indicate that, during a first phase of data migration, a first database table is accessible to at least one data writing process and at least one data reading process, wherein information included in the first database table and information included in a second database table are not included in the status table; migrating, during the first phase of data migration, a first data portion stored in the first database table with a first characteristic to the second database table with a second characteristic that is different from the first characteristic, while transforming the first data portion from the first characteristic to the second characteristic, the first characteristic differing from the second characteristic in at least one of a table schema, an encryption key, or a data structure; updating the status table to indicate that, during a second phase of data migration, the first database table is accessible to the at least one data writing process and to the at least one data reading process, the second database table is accessible to the at least one data writing process, and the second database table is not accessible to the at least one data reading process; and migrating, during the second phase of data migration, a second data portion stored in the first database table to the second database table while transforming the second data portion from the first characteristic to the second characteristic, the second data portion being more recent than a threshold age. - View Dependent Claims (25, 26, 27)
-
Specification