Our database migration consulting services involve the analysis of the current database environment prior to the start of any migration work. It includes the version of the database engine, database schema, stored procedures, triggers, data size, replication, and application dependency mapping. It culminates in the production of a migration plan document, which includes the target platform, migration strategy (homogeneous or heterogeneous), tools, risk assessment, and phase-based migration schedule. It can be done as a standalone activity before migration.
In homogeneous migration, we deal with the migration of databases from the same database engine but different versions, i.e., from SQL Server 2012 to SQL Server 2022, from PostgreSQL 10 to PostgreSQL 16, etc. This includes version upgrade planning, compatibility testing, database schema/data migration, stored procedure testing, and cutover. This type of migration is less risky but still requires proper management of deprecated features and defaults.
We move databases from one database system to another, such as Oracle to PostgreSQL, Microsoft SQL Server to Amazon Aurora, IBM DB2 to MySQL, etc. This includes database schema conversion, data type conversion, rewriting stored procedures and triggers, modifying the application query layer, as well as validating the data after migration. More time is required for heterogeneous database migration due to the differing SQL dialects, indexing strategies, and transactional support.
We help companies migrate on-premise databases to cloud-based databases such as Amazon RDS, Amazon Aurora, Azure SQL, Azure Database for PostgreSQL/MySQL, Google Cloud SQL, Cloud Spanner, etc. This includes the setup of the cloud infrastructure, networking, security, migration of the database with minimal downtime, modification of the connection string for the dependent applications, etc.
In this process, data migration includes migrating a data warehouse from a traditional on-premise system to a cloud-based data analytics platform like Amazon Redshift, Google BigQuery, and Azure Synapse Analytics. The data warehouse can exist on top of an Oracle Exadata platform, a Teradata platform, or a SQL Server Analysis Services platform.
We carry out database schema restructuring as part of migration, which includes normalization or denormalization of the database schema according to the usage pattern of the target platform, database table partitioning, index restructuring, and removal of redundant or unused objects in the database schema. Database schema restructuring is carried out when the existing database schema would not perform well on the target platform without restructuring.
We build and/or move ETL pipelines, facilitating the movement, transformation, and loading of data from its original sources to the intended destinations. This includes batch and streaming ETL using Apache Kafka, AWS Glue, Azure Data Factory, Apache Airflow, and dbt. When multiple source systems and complex transformation processes are involved, creating the ETL pipeline becomes a separate step in the overall process.
To support systems that cannot tolerate any downtime, replication is employed during the migration time between the source and target databases. The application is cutover to the target database when the replication lag is near zero; a rollback option is available until source database decommissioning is complete.
Post go-live, we monitor the performance of the databases on the target platform, fix regressions in query performance, and make adjustments to indexes and connection pool settings. We offer support on a retainer basis with response time-based SLAs. We also provide continuous database administration (DBA) services as part of the support engagement. This includes regular database maintenance operations, capacity planning, replication monitoring, access control, database version upgrades, and on-call support for production issues.