Apparatus and method for database migration
First Claim
1. A method for migrating a database from a source database platform to a target database platform, said method comprising:
- (a) creating and loading into a memory a source meta-database, wherein said meta-database is presented in the form of a tree and represents the essence of a data model of said database;
(b) converting the schema of said database by migrating the source database objects into the destination ones, wherein during said conversion the objects can change their parameters, number of fields, or structure because of the inconsistency in the data types in source and destination databases;
(c) extracting the SQL code of the stored procedures;
(d) parsing the SQL code and presenting it in the internal tree structure, wherein declaration point reference are setup for local identifiers;
(e) converting of the parsed tree into the destination platform tree, wherein the tree is transformed appropriately to express the actual SQL code conversion;
(f) generating a script using the converted schema tree, wherein said script is loaded to create the target database objects; and
(g) loading the converted SQL stored procedures into previously converted target database.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods consistent with concepts of the present embodiment of the inventive concept provide mechanisms for database migration from one database (source database platform) platform to another (target database platform). The target and source databases can be any relational databases including, without limitation, Oracle, SQL Server (Microsoft), DB2 UDB (IBM), Sybase, MySQL, PostgreSQL, and the like. The inventive methodology will work well for migration of any relational database that implements SQL language from one platform to another. A feature of the invention is the provision of a virtual engine enabling the running of an original application on a migrated database.
86 Citations
20 Claims
-
1. A method for migrating a database from a source database platform to a target database platform, said method comprising:
-
(a) creating and loading into a memory a source meta-database, wherein said meta-database is presented in the form of a tree and represents the essence of a data model of said database;
(b) converting the schema of said database by migrating the source database objects into the destination ones, wherein during said conversion the objects can change their parameters, number of fields, or structure because of the inconsistency in the data types in source and destination databases;
(c) extracting the SQL code of the stored procedures;
(d) parsing the SQL code and presenting it in the internal tree structure, wherein declaration point reference are setup for local identifiers;
(e) converting of the parsed tree into the destination platform tree, wherein the tree is transformed appropriately to express the actual SQL code conversion;
(f) generating a script using the converted schema tree, wherein said script is loaded to create the target database objects; and
(g) loading the converted SQL stored procedures into previously converted target database. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 15)
-
-
10. A method of converting source SQL calls from source SQL dialect to target SQL calls for a target SQL dialect, without significant changes in application code, said method comprising:
-
(a) creating and loading into memory a source meta-database, wherein said meta-database is presented in the form of a tree and represents the essence of a data model of a target database;
(b) creating a software wrapper over a database driver, said software wrapper receiving said source SQL calls from said database driver and providing a corresponding target SQL calls, said software wrapper further storing in memory the source SQL calls and target SQL calls. - View Dependent Claims (11, 12, 13, 14)
-
-
16. A database virtualization middleware, allowing a source client application implemented to run against a source database on a source platform to run against a target database on a target platform different from the source platform, comprising:
-
an SQL Converter engine;
an SQL Converter memory;
at least one meta-database component storing logical representation of the target database;
a database driver interface. - View Dependent Claims (17, 18, 19, 20)
-
Specification