Robust, Extensible, Modularised Architecture!
Objective
- Migrate data from an Application's Oracle/DB2 Database into an Ingres R3 Database.
- Run the Application on the Ingres R3 Database without any code changes.
- Must be easy to upgrade the database compatibility layer.
- Easy to add support for migration of other databases.
Our solution
- Provide with a tool which can migrate the Oracle/DB2 database into Ingres R3 Database.
- Provide with a database compatibility layer which can convert Oracle/DB2 specific queries into
Ingres compatible queries.
Core Modules
The Migration Toolkit consists of the following core modules:
- Data Migration Tool - This migrates all the schema, data & PL/SQL from an existing Oracle/DB2
Database onto an Ingres R3 Database.
- Query Compatibility layer (QC) - This parses Oracle/DB2 compatible SQL queries and converts them into
Ingres R3 compatible SQL queries.
- Core Layer (CL) - This layer intercepts all the messages sent between the different Ingres database
communication interfaces (eg. JDBC, ODBC) and the Ingres database server. It converts the messages from
Oracle/DB2 specific to Ingres specific messages and then passes them onto the Ingres Server. This layer
uses Query Compatibility Layer to do conversions of SQL Queries from Oracle/DB2 format to Ingres.
- JDBC Drivers - These are modified versions of the Ingres R3 JDBC Driver, which provide the feel of
an Oracle/DB2 JDBC Driver to the application. They also provide extra functionalities of the specific DB
which are not present in the Ingres JDBC Driver.
Data Migration Process
|
Application Migration (Execution) Process
|
|
|
Migration Process
Our migration solution involves two step, Data Migration and then Application Migartion. Here is a brief overview
of what both the steps entail.
- Data Migration Process
- First the Importer gets all the Meta-Data (Schema, Grants, etc) from the Oracle/DB2 Database Server. It
then generates Oracle/DB2 compatible SQL queries for creating the same.
- These queries are then converted into Ingres R3 Compatible queries by the Query Compatibility
(QC) module.
- These Ingres compatible queries are then executed on the Ingres R3 Database Server.
- After this the migration tool reads data of each table and writes it into the Ingres R3
Database directly.
- Application Migration (Execution) Process
- The applications needs to use the JDBC Driver provided by us to connect to the core layer. For this
we simply replace the existing Oracle/DB2 JDBC Driver with our modified Ingres JDBC Driver.
- Core Layer makes a connection to the Ingres R3 Database Server for every connection made
to it by the application.
- The Core Layer passes all messages, which do not contain any SQL-Queries in them, directly to
the Database Server.
- For the messages containing SQL Queries, the core layer sniffs out the query from them, converts
them into Ingres R3 compatible queries (using the QC module) and then sends them to the Ingres R3
Database Server.
Click here to view document with comprehensive architecture explanation.
|