AWS DMS (Amazon Web Service Database Migration Service) is a service based in the cloud, facilitating the migration of data warehouses, relational databases, and NoSQL databases to AWS. Migration may be from on-premises databases to the cloud or from one cloud provider to another.
A major advantage of AWS DMS is that during migration, there is no downtime as the source databases remain fully functional throughout. This is helpful for large data-driven large enterprises as shutting down systems can adversely impact operational efficiencies.
Table of Contents
How does AWS DMS function
Primarily, AWS DMS functions as a cloud-based replication software. For migration, a link has to be created first between the source and target databases so that AWS DMS is aware of where to migrate the database and transfer to which location. The next activity is to define a task that will move the data from the source to the target.
AWS DMS handles the full migration process automatically without the need for human intervention. This is even if the tables and the keys needed for migration are absent in the target database. When this happens, users can use the AWS SCT (AWS Schema Conversion Tool) to create indexes, tables, triggers, and views at the target database. Organizations using AWS DMS for migrating databases get all the advantages of the cloud environment like enhanced performance, security, data usage flexibility, and cost efficiencies.
How to migrate databases with AWS DMS
Databases may be migrated with AWS DMS in two ways depending on the specific attributes of the source and the target databases.
- Homogeneous database migration: This type of migration is carried out when the source and the target databases are similar as are the data codes, data types, and schema structures of the two. Migration here is a simple and one-step process. Once the source and the target databases are linked up, migration can be initiated with AWS DMS with the click of a button.
Some forms of homogeneous migration are Microsoft SQL Server to Amazon RDS for SQL Server and MySQL to Amazon RDS for MySQL.MySQL to Amazon Aurora, and Oracle to Amazon RDS for Oracle.
- Heterogeneous database migration: This database migration with AWS DMS is when the database engines of the source and the target databases, as well as their data types, data codes, and schema structures, are different. Migration, therefore, is a complex two-step process. With the AWS SCT, the data code, data type, and schema structure of the source database are converted to match that of the target database. Only after this can migration be started. AWS DMS auto-handles both the conversion and the migration.
Instances of this form of migration are Oracle to PostgreSQL, Microsoft SQL Server to MySQL migrations, and Oracle to Amazon Aurora.
Organizations choose one method over the other depending on the configuration of the source and the target databases.
What are the benefits of using the AWS Database Migration Service
There are several cutting-edge advantages of opting for database migration with AWS DMS.
- Complete infrastructure support for database migration is provided by AWS DMS including auto-deploying, managing, and tracking the progress once it is suitably configured for migration.
- Users get free data migration for six months with AWS DMS when the target database is Amazon Aurora, Amazon Redshift, or Amazon DynamoDB.
- Users get the benefit of flexible storage facilities. Being based in the cloud, AWS DMS offers unlimited storage, and users have to pay only for the storage used without any upfront or one-time charges. In case of a shortage in storage volumes, additional resources can be downloaded immediately and migration continues without a break.
- One of the most critical benefits offered to businesses by AWS DMS is the automatic failover and reversal feature. If during migration, there is an outage or disruption in the primary server, the secondary servers in the region or even in remote locations are automatically triggered and the migration goes on normally. When the outage is resolved, the reversal feature updates the primary server with any changes that happened in the break period, and migration is resumed as before.
- AWS DMS handles all support systems and ensures the automatic functioning of hardware and software, error reporting, and software patching.
- The migration process with AWS DMS is fully safe and secure. The source database, that is, data at rest is secured and encrypted with the AWS Key Management Service while data moving from the source to the target is encrypted with the Secure Socket Layer (SSL).
These are some of the many benefits of migration with AWS DMS. However, there are limitations with this service too.
Restrictions of AWS DMS
There are certain restrictions faced by users in database migration with AWS DMS.
The limitations arise sometimes with conversions as converting data codes and schema structures of the source to match that of the target is not handled directly by AWS DMS but through the AWS SWCT. Further, while migrating incremental data after full load migration (Change Data Capture), a fair amount of coding is required which is a time-consuming task.
Another issue is that AWS DMS does not process anything that is not related to indexes, users and privileges, and other table data. Instead, only partial volumes of Data Definition Language (DDL) are replicated.
Finally, there is sometimes a system slowdown during the migration of large volumes of data, especially when queries for every task are placed on the source database.
Keep in mind these benefits and limitations of AWS DMS.