Amazon Web Service Database Migration Service (AWS DMS) is a cloud-based service that facilitates quick and seamless migration of databases to Amazon Web Service. Users can migrate on-premises databases to the cloud or from one cloud provider to another.
Benefits of AWS DMS
Why do organizations in today’s business environment want to migrate databases using AWS DMS ? Here are several reasons for it.
- When migrating with AWS DMS, the source database remains fully functional at all times. Hence, there is no need to shut down systems for migration, a facet that is very useful for large organizations that can find downtime for any period quite inconvenient.
- Data is replicated continually with high availability during migration. Several databases can be consolidated into a single petabyte-sized one through data streaming to Amazon S3 or Amazon Redshift.
- Data is migrated free for six months with AWS DMS when the target database is either Amazon Redshift, Amazon DynamoDB, or Amazon Aurora.
- All infrastructure that is necessary for migration is automatically deployed, managed, and tracked by AWS DMS. The process is started immediately after AWS DMS is configured.
- Flexible data storage capabilities are offered by AWS DMS and users are charged only for the quantum of resources used for migration. In case of shortage, additional storage is provided quickly and the process resumed.
- Automatic failover and reversal are critical aspects of AWS DMS. If during migration the primary server fails or there is an outage, secondary servers in the region, on-premises, or even in remote locations are triggered and migration is not stopped. When the issue is resolved, the failover operates in the reverse direction and the primary server is activated after updating all changes that occurred in the break period. Hence, there is no loss of data or downtime.
- All infrastructure necessary for migration such as tracking the functioning of hardware and software, software patching, and error reporting is automatically done by AWS DMS.
- All popular DBMS engines of source databases and common target database engines are supported by AWS DMS. Hence migration with AWS DMS is possible between most source and target databases.
- Migration with AWS DMS is fully safe and secure. AWS Key Management Service encrypts all data at rest while the Secure Socket Layer (SSL) encrypts data in flight between the source and the target databases during migration.
These are some of the reasons why AWS DMS is preferred for the migration of databases.
Types of AWS DMS database migration
There are two types of database migrations possible with AWS DMS.
- Homogeneous database migration: This method is applicable when the source and the target database engines are the same and the data codes, data types, and schema structures are similar. Due to this compatibility, migration is a simple one-step process. Once the connection between the source and target databases is established, migration can be initiated immediately.
- Some of the possibilities of homogeneous migration are MySQL to Amazon RDS for MySQL, Oracle to Amazon RDS for Oracle, Microsoft SQL Server to Amazon RDS for SQL Server, and MySQL to Amazon Aurora.
- Heterogeneous database migration: This type of migration is activated when the engines of the source and the target databases are different as are the data types, data codes, and schema structures. Hence, migration is a two-step process. First, with the AWS Schema Conversion Tool (SCT), the data codes and the schema structures of the source database are converted to match that of the target database. Only then can the migration process be started.
Microsoft SQL Server to MySQL, Oracle to Amazon Aurora, and Oracle to PostgreSQL are some of the migration types that fall in this category.
While migration with AWS DMS is a fully automated process without the need for human intervention, there are certain limitations of it too.
Limitations of AWS DMS
Restrictions faced by users when migrating databases with AWS DMS.
- Some conversion issues are faced by users when migrating databases with AWS DMS. Code and schema conversion is not handled directly by AWS DMS but through a third-party tool like the AWS SCT as in heterogeneous migration.
- A good amount of coding is required to be done separately for Change Data Capture (CDC) that is, moving incremental data after full load migration is complete with AWS DMS. This is a time-taking and complex activity.
- There are certain replication issues too as only partial volumes of Data Definition Language (DDL) are replicated by AWS DMS. This is because indexes, users, and privileges not directly related to table data cannot be processed by this service.
- During AWS DMS migration, a slowing down of systems is often observed by the users. This happens because source database resources are used in migrating large volumes of data. Additionally, for any task that is created during migration, queries are put for Change Data Capture on the source database, thereby leading to a substantial lowering of its efficiency and data performance.
Despite these limitations, AWS DMS is a preferred option for organizations for database migration.
Migration options with AWS DMS
There are three database migration options with .
- Full load data migration where all the data is moved in one go after the source and the target databases are shut down.
- Full load migration with CDC where apart from the migration, ongoing changes are also captured at pre-set intervals.
- CDC where only changes at the source are moved to the target database.
Users can choose a method that best meets their operational needs.