Advanced Database & Application Migration (ADAM) is an end-to-end migration system that facilitates migration preparation, migration implementation, and cutover migration.
What type of cloud database do I select?
How many cloud database instances and what specifications are required?
What cloud database instance can I migrate each table to? How do I modify the table?
You may encounter the preceding questions when you prepare for migration. To help you find out the answers to these questions, ADAM provides two data collectors and an intelligent analysis platform.
Database Collector collects information of the source database. The information includes operating environments, database objects, SQL statements, storage space, performance, and transactions. Database Collector summarizes the overall status of the source database. Database Collector also processes the collected data to reduce data redundancy, enhance data security, and ensure data accuracy. For example, the collector removes duplicates, masks sensitive data, and checks data consistency.
Application Collector collects the application framework and the runtime information. The information includes server performance, SQL statements in application code, runtime SQL call stacks, calls between applications, and calls between applications and databases. Application Collector summarizes the overall status of the applications. Application Collector also processes the collected data. For example, the collector removes duplicates, masks sensitive data, and checks data consistency.
Intelligent analysis platform
Based on the information that is collected from the source database and the runtime information that is collected from applications, the intelligent analysis platform provides the optimal destination database solution. To do this, the intelligent analysis platform provides three services: database evaluation, database transformation, and application evaluation and transformation.
Source database profiling: After Database Collector collects the information of a source database, ADAM analyzes the collected information and generates a profile for the source database. The profile includes the database performance, database capacity, database features, database links, and a panoramic view of all database objects. Object details show the associations between objects and the features that are used by each object.
Suggestions on the destination database: ADAM uses the information of source tables to calculate the required specifications of a destination database. The specifications include the number of CPU cores, the memory size, and the disk size. Based on the required specifications, ADAM estimates the cost of each available destination database to facilitate cost analysis.
Analysis of compatibility between source and destination databases: ADAM analyzes the compatibility between a source database and each available destination database. Available destination databases differ in the database type and version. An available destination database can be incompatible or fully compatible with the source database. In a migration plan, ADAM provides transformation suggestions for an incompatible destination database solution.
Database transformation and migration
Migration planning: ADAM creates a plan for migrating data from the source database to the destination database based on database evaluation results. The migration plan includes a conversion solution that maximizes the compatibility between source and destination databases. ADAM also provides a schema migration tool that automatically converts data types based on the migration plan.
Source database verification: ADAM verifies the schema consistency between migration plans and source database, and offers data merging suggestions if inconsistency occurs. This maximizes the schema consistency between the source and destination databases.
Schema migration and revision: ADAM generates a data definition language (DDL) statement for each destination database based on the conversion solution in the migration plan. Then, ADAM connects to the destination database and create the database schema. During schema migration, ADAM allows you to revise data types if errors occur. This ensures a high success rate of schema migration.
Data migration: ADAM allows you to use Data Transmission Service (DTS) to migrate data.
Application evaluation and transformation
Application profiling: After Application Collector collects application information, ADAM analyzes the application information and the WAR file of the applications, and generates a profile for the applications. The profile includes the software stack, system information, object overview, SQL operations, and call stacks. The application profiling feature provides dynamic analysis and static analysis. Dynamic analysis is based on the collected application information, and static analysis is based on the WAR file of the applications.
Application evaluation: During migration between heterogeneous databases, database transformation is required. The application evaluation feature identifies application code that needs transformation.
The intelligent analysis platform provides semi-automatic migration solutions that require only a few manual operations. You can estimate migration workloads and costs based on the migration solutions.
Features designed for migration
You may face the following challenges due to a lack of migration experience:
How do I synchronize schemas and data from the source database to destination database?
What do I need to transform in the source database and how do I make the transformation?
Are the requirements for migration met after transformation?
To address these challenges, ADAM provides an end-to-end migration tool that consists of three key modules:
Compatibility analysis module: evaluates the compatibility of the source database with the destination database and provides migration suggestions.
Object conversion module: converts source database objects into objects that are supported by the destination database.
Application migration module: migrates applications to the destination database.
Compatibility analysis module
The compatibility analysis module provides suggestions on the types of destination databases to which the source database can be migrated.
The compatibility analysis module analyzes compatibility for source database features and use scenarios.
To analyze feature compatibility, the module identifies the source database features that are used by database objects and provides suggestions on substitute features in the destination database.
To analyze use scenario compatibility, the module identifies the use scenarios of each source database, and evaluates whether the use scenarios are supported by the destination database. The module provides suggestions on transformation if necessary.
The compatibility analysis module can be independently used.
Object conversion module
The object conversion module converts tables and other objects in the source database into objects that are supported by the destination database or into Java code. The object conversion module can automatically create table schemas in the destination database. Automatic creation of other objects in the destination database is coming soon.
Application migration module
The application migration module provides an auxiliary migration environment for you to accelerate the migration process. During migration,
the application migration module collects requests to the source database in real time and returns call stacks. This allows you to identify the code that needs transformation.
The application migration module also collects the SQL queries that correspond to the requests. The module analyzes the compatibility of the SQL queries with the destination database, returns the analysis results, and provides instructions on how to edit your application code.
In addition, the application migration module collects the responses to the requests and collects performance data. Then, you can compare the migrated application with the source application in functions and performance.
The application migration module allows you to migrate multiple source databases to multiple destination databases. The module can route each SQL query to the appropriate destination database based on the queried objects. This simplifies the migration process by eliminating the need to directly connect an application to multiple databases.
Similar to a debugger, the application migration module provides suggestions on code modification and verifies the results in real time. This allows you to perform migration and verification in the development and test environments. If the business system passes all the AMS test cases, the migration process is completed.