Automated database migration architecture
First Claim
1. A method of migrating data from one or more source databases to one or more target databases, the method comprising:
- receiving, from a cloud-based database modeling service, data relating to the one or more source databases and the one or more target databases, wherein the cloud-based database modeling service is located remotely from the source databases and from the target databases, and is configured to collect and analyze data from the source databases and from the target databases;
generating a pre-migration analysis for the plurality of objects stored in the one or more source databases, based on the data received from the cloud-based database modeling service;
generating a plurality of migration scripts that transfer the plurality of objects from the one or more source databases to the one or more target databases, based on the pre-migration analysis;
generating a migration plan that defines;
an order in which the plurality of migration scripts will be executed during migration to minimize downtime during migration of the one or more source databases;
timing constraints that dictate when each of the plurality of migration scripts can be executed; and
indications of which of the plurality of migration scripts can be executed in parallel;
migrating the plurality of objects from the one or more source databases to one or more target databases according to the migration plan;
while migrating the plurality of objects, executing a number of migration scripts in parallel, according to the migration plan;
while migrating the plurality of objects, periodically determining an amount of available system resources;
while migrating the plurality of objects, dynamically adjusting an amount of parallel processing during the migration by scaling up or down a number of migration scripts executed in parallel based on the determined amount of available system resources; and
after migrating the plurality of objects, validating the plurality of objects on the one or more target databases.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of migrating data from one or more source databases to one or more target databases may include generating a pre-migration analysis for a plurality of objects stored in the one or more source databases, and generating a plurality of migration scripts that transfer the plurality of objects from the one or more source databases to the one or more target databases. The method may also include generating a migration plan that defines an execution order for the plurality of migration scripts, and migrating the plurality of objects from the one or more source databases to one or more target databases according to the migration plan. The method may further include validating the plurality of objects on the one or more target databases.
-
Citations
19 Claims
-
1. A method of migrating data from one or more source databases to one or more target databases, the method comprising:
-
receiving, from a cloud-based database modeling service, data relating to the one or more source databases and the one or more target databases, wherein the cloud-based database modeling service is located remotely from the source databases and from the target databases, and is configured to collect and analyze data from the source databases and from the target databases; generating a pre-migration analysis for the plurality of objects stored in the one or more source databases, based on the data received from the cloud-based database modeling service; generating a plurality of migration scripts that transfer the plurality of objects from the one or more source databases to the one or more target databases, based on the pre-migration analysis; generating a migration plan that defines; an order in which the plurality of migration scripts will be executed during migration to minimize downtime during migration of the one or more source databases; timing constraints that dictate when each of the plurality of migration scripts can be executed; and indications of which of the plurality of migration scripts can be executed in parallel; migrating the plurality of objects from the one or more source databases to one or more target databases according to the migration plan; while migrating the plurality of objects, executing a number of migration scripts in parallel, according to the migration plan; while migrating the plurality of objects, periodically determining an amount of available system resources; while migrating the plurality of objects, dynamically adjusting an amount of parallel processing during the migration by scaling up or down a number of migration scripts executed in parallel based on the determined amount of available system resources; and after migrating the plurality of objects, validating the plurality of objects on the one or more target databases. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A non-transitory computer-readable memory comprising a sequence of instructions which, when executed by one or more processors, causes the one or more processors to migrate data from one or more source databases to one or more target databases by:
-
receiving, from a cloud-based database modeling service, data relating to the one or more source databases and the one or more target databases, wherein the cloud-based database modeling service is located remotely from the source databases and from the target databases, and is configured to collect and analyze data from the source databases and from the target databases; generating a pre-migration analysis for the plurality of objects stored in the one or more source databases, based on the data received from the cloud-based database modeling service; generating a plurality of migration scripts that transfer the plurality of objects from the one or more source databases to the one or more target databases, based on the pre-migration analysis; generating a migration plan that defines; an order in which the plurality of migration scripts will be executed during migration to minimize downtime during migration of the one or more source databases; timing constraints that dictate when each of the plurality of migration scripts can be executed; and indications of which of the plurality of migration scripts can be executed in parallel; migrating the plurality of objects from the one or more source databases to one or more target databases according to the migration plan; while migrating the plurality of objects, executing a number of migration scripts in parallel, according to the migration plan; while migrating the plurality of objects, periodically determining an amount of available system resources; while migrating the plurality of objects, dynamically adjusting an amount of parallel processing during the migration by scaling up or down a number of migration scripts executed in parallel based on the determined amount of available system resources; and after migrating the plurality of objects, validating the plurality of objects on the one or more target databases. - View Dependent Claims (14, 15, 16)
-
-
17. A system comprising:
-
one or more processors; and a memory communicatively coupled with and readable by the one or more processors and comprising a sequence of instructions which, when executed by the one or more processors, cause the one or more processors to migrate data from one or more source databases to one or more target databases by; receiving, from a cloud-based database modeling service, data relating to the one or more source databases and the one or more target databases, wherein the cloud-based database modeling service is located remotely from the source databases and from the target databases, and is configured to collect and analyze data from the source databases and from the target databases; generating a pre-migration analysis for the plurality of objects stored in the one or more source databases, based on the data received from the cloud-based database modeling service; generating a plurality of migration scripts that transfer the plurality of objects from the one or more source databases to the one or more target databases, based on the pre-migration analysis; generating a migration plan that defines; an order in which the plurality of migration scripts will be executed during migration to minimize downtime during migration of the one or more source databases; timing constraints that dictate when each of the plurality of migration scripts can be executed; and indications of which of the plurality of migration scripts can be executed in parallel; migrating the plurality of objects from the one or more source databases to one or more target databases according to the migration plan; while migrating the plurality of objects, executing a number of migration scripts in parallel, according to the migration plan; while migrating the plurality of objects, periodically determining an amount of available system resources; while migrating the plurality of objects, dynamically adjusting an amount of parallel processing during the migration by scaling up or down a number of migration scripts executed in parallel based on the determined amount of available system resources; and after migrating the plurality of objects, validating the plurality of objects on the one or more target databases. - View Dependent Claims (18, 19)
-
Specification