AWS DMS (Amazon Web Service Database Migration Service) is based in the cloud. It helps in the easy migration of data warehouses, relational databases, NoSQL databases, and any other type of database. AWS DMS migrates data from on-premises databases, to the cloud and from one cloud provider to another. The only condition is that any one of either the source or the target or both databases should be in the cloud.
In simple terms, AWS DMS is a server that operates replication software in the cloud. The user has to create a connection between the source and the target databases so that AWS DMS is aware of where to migrate data and to which location. A task is then scheduled that moves the data on this server. Even if associated primary keys and the tables necessary for migration do not exist on the target, AWS DMS automatically takes care of this issue. Users also have the option to either create the target tables or use the AWS Schema Conversion Tool (AWS SCT) to create indexes, target tables, views, triggers, and more.
AWS DMS performs one-time migration and helps to replicate changes and incremental data to maintain sync between the source and the target databases. To migrate to a different database engine, the AWS SCT is used to translate the database schema to a new platform and AWS DMS for migrating the data. AWS DMS is a critical component of the AWS Cloud and therefore, by migrating to the cloud with AWS DMS, all the benefits such as cost efficiency, security, speed to market, and flexibility accrue to the user.
How is AWS DMS more beneficial than traditional migration solutions?
There are several benefits of migrating data with AWS DMS.
- Traditional migration solutions are complex procedures. You have to install and administer systems and additional hardware and software as well as test and debug systems after installation. On the other hand, AWS DMS deploys, manages, and monitors all infrastructure needed for migration. Once the AWS DMS is configured, migration can be set up and running in a few minutes.
- You can scale up and down in data storage usage during migration and pay only for the quantum of resources used. If additional resources are needed, the allocated resources can be easily increased and migration restarted in minutes. This is against traditional licensing models where upfront fees and heavy maintenance charges have to be paid.
- All infrastructure that supports the migration server is managed by AWS DMS. These include software patching, error reporting, and monitoring hardware and software.
- A critical activity of AWS DMS is providing automatic failover in case of an outage. If there is an issue with the primary server during migration, a secondary server, even from another region takes up the activity immediately without a break. When the issue is resolved and the primary server is functional again, it is updated and migration as before is restarted. There is no downtime or loss of data.
- AWS DMS helps you to change over to a more cost-effective and modern database engine than the one you are functioning on now. With AWS DMS, you can get the benefit of the managed database services from Amazon Aurora or Amazon Relational Database Service. You can also move to fully managed data warehouse services like Amazon Redshift, NoSQL platforms like Amazon DynamoDB, or cost-effective storage platforms such as Amazon S3.
- Most of the popular DBMS engines as source databases are supported by AWS DMS. Similarly, a whole range of target database engines gets support from AWS DMS. Hence, you can migrate from any of the supported source databases to any of the supported target databases.
- Very importantly, AWS DMS makes sure that the data migration process is very secure. Data at rest is fully encrypted with the AWS Key Management Service (AWS KMS) and during migration, the Secure Socket Layers (SSL) can be used to encrypt in-flight data when it migrates from the source to the target.
All these benefits make AWS DMS a preferred platform for migrating databases to the Cloud.
What are the limitations of AWS DMS?
Despite the many benefits of AWS DMS, there are certain limitations too.
- Conversion issues: There are few conversion issues faced by users when migrating with AWS DMS. Code and schema conversion is not handled by AWS DMS. Instead, a target schema is created at the destination during homogeneous migration. Again, schema conversion cannot be done with AWS DMS alone during heterogeneous migration and the AWS Schema Conversion Tool has to be used.
- Coding requirements: For Change Data Capture, which is moving incremental data after full load migration is complete, a fair amount of coding has to be done separately. This can be a complex and time-consuming activity.
- Ongoing replication issues: Partial volumes of Data Definition Language (DDL) only is replicated by AWS DMS. Indexes, users, and privileges that are not directly related to table data cannot be processed by AWS Data Migration Service.
- A slowdown of systems: In certain cases, the functioning of the source databases slows down during migration with AWS DMS. This mainly happens when resources of the source database are used to migrate large amounts of data. Similarly, for every task that is created for `the migration, queries are placed on the source database for Change Data Capture. This considerably impacts the efficiency of the source data performance.
These are the various aspects of AWS DMS.