Amazon Web Service Database Migration Service (AWS DMS) is a cloud-based service that migrates data in several ways – either from on-premises databases to the cloud or one cloud provider to another. DMS is a very flexible and versatile tool that can perform both one-time data migration or continual data replication when the source and the target databases are in sync. Data can be migrated from relational databases, NoSQL databases, data warehouses, and any other data sources.
This post will focus on the various aspects of AWS DMS like the benefits, types of migration possible, replication features, and finally, the limitations of using AWS DMS.
Benefits of AWS DMS
Several benefits of AWS DMS make it the preferred migration tool for database migration.
- User-friendly: AWS DMS is not complicated and after all the parameters are defined, the process can be started with a few clicks on the AWS Management console. Hence, there is no need to install additional drivers and applications as the migration is fully and automatically managed by AWS DMS.
- No downtime: The source database remains fully functional during migration. Data is therefore replicated to the target database without a break in service or downtime.
- Wide database support: Most common databases and commercially-used applications are compatible with AWS DMS making migration between SQL, NoSQL, and text-based targets quick and easy.
- Cost-effective: AWS DMS charges businesses for the computing and storage resources used for migration only without any upfront or one-time fees.
- Reliability: The source and the target databases are continually monitored by AWS DMS during migration. For any service disruption. the migration is resumed once the glitches are resolved.
AWS Database Migration Service is also used to combine various databases into a single target database.
Types of AWS Database Migration Service
With AWS DMS, you can replicate data with high availability continually and consolidate databases into petabyte-scale warehouses by streaming data to Amazon S3 or Amazon Redshift.
There are two types of migration with AWS DMS.
- Homogeneous database migration: In this form of migration, the database engines of the source and the target are compatible. The migration is seamless as the database codes, data types, and schema structures match each other. Examples include Oracle to Amazon RDS for Oracle, MySQL to Amazon Aurora, MySQL to Amazon RDS for MySQL, or Microsoft SQL Server to Amazon RDS for SQL Server.
- Heterogeneous database migration: Here, the source and the target database engines are not the same, having different schema structures, data types, and data codes. Hence, before migration, schema and code transformation arerequired which is automatically provided by AWS DMS.Examples are Oracle to Amazon Aurora, Oracle to PostgreSQL, or Microsoft SQL Server to MySQL migrations.
In both forms of migration, AWS DMS helps move databases from and into the cloud.
Replication instance in AWS DMS
Replication instance is a critical component of AWS DMS and is fully managed by Amazon Elastic Compute Cloud (Amazon EC2). It enables one or multiple replication tasks and companies can choose one that best meets their needs. Creating a replication task should be done before starting the migration process with settings that define the task laid out.
The migration options for replication instances are as follows.
- Full load migration of data: In this system, the complete data is moved in one go. Data is migrated from the source to the target after the databases are shut down for migration. This might be inconvenient for large and mid-sized organizations who usually cannot afford to shutdown systems for any length of time.
- Full load migration with Change Data Capture: In this method, apart from the migration, AWS DMS also replicates ongoing and current changes. Once the full load migration is completed, all changes made at the source are captured in the target database at pre-set intervals. When the changes made reach a stable level, the applications can be shut down and only the incremental data moved to the target endpoint.
- Change Data Capture only: In this case, only the changes to data at the source are moved to the target database.
Organizations can choose a method that meets their operational needs.
Limitations ofAWS DMS
Even though AWS DMS has several benefits that are very critical for the modern business environment, there are several limitations of this platform too.
- Coding requirements: Some coding is required separately for Change Data Capture for migrating incremental loads to the target database. It can be a time-taking and complex affair.
- Conversion issues: Code or schema conversion is not carried out with AWS DMS. Instead, it creates a target schema at the destination during homogeneous migration. For heterogeneous migration too, schema conversion cannot be done only with AWS DMS, and the AWS Shema Conversion tool is required.
- Problems with ongoing replication: Only a limited amount of data definition language (DDL) is replicated by AWS DMS. Items that are not directly related to the table data like indexes, users, and privileges cannot be processed by AWS Database Migration Service.
- System slowdown: The functioning of the source databases slows down in certain cases. One is when resources in the source database are used by AWS DMS when migrating large amounts of data. Also, for every task that is created for the migration, queries are placed on the source database for CDC, thereby affecting the source database efficiency.
These are the various aspects of AWS DMS.