Skip to content
English
On this page

Cloud Database Migration

Data is the cornerstone of successful cloud application deployments. Your evaluation and planning process may highlight the physical limitations inherent to migrating data from onpremises locations into the cloud. Amazon offers a suite of tools to help you move data via networks, roads, and technology partners. This chapter focuses on the AWS Database Migration Service (AWS DMS) and the AWS Schema Conversion Tool (AWS SCT). Customers also use other AWS services and features that are discussed in chapter, “Hello, Storage,” for cloud data migration, including the following:

  • AWS Direct Connect (DX)
  • AWS Snowball
  • AWS Snowball Edge
  • AWS Snowmobile
  • AWS Import/Export Disk
  • AWS Storage Gateway
  • Amazon Kinesis Data Firehose
  • Amazon S3 Transfer Acceleration
  • Virtual private network (VPN) connections

AWS Database Migration Service

AWS Database Migration Service (AWS DMS) helps you migrate databases to AWS quickly and securely. The source database remains fully operational during the migration, minimizing downtime to applications that rely on the database. AWS DMS can migrate your data to and from the most widely used commercial and open-source databases. The service supports homogenous database migrations, such as Oracle to Oracle, in addition to heterogeneous migrations between different database platforms, such as Oracle to Amazon Aurora or Microsoft SQL Server to MySQL. You can also stream data to Amazon Redshift, Amazon DynamoDB, and Amazon S3 from any of the supported sources, such as Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle Database, SAP ASE, SQL Server, IBM DB2 LUW, and MongoDB, enabling consolidation and easy analysis of data in a petabyte-scale data warehouse. You can also use AWS DMS for continuous data replication with high availability.

Homogenous database migrations using AWS DMS

Homogenous

To perform a database migration, AWS DMS connects to the source data store, reads the source data, and formats the data for consumption by the target data store. It then loads the data into the target data store. Most of this processing happens in memory, though large transactions might require some buffering to disk. Cached transactions and log files are also written to disk. At a high level, when you’re using AWS DMS, complete the following tasks:

  • Create a replication server.
  • Create source and target endpoints that have connection information about your data stores.
  • Create one or more tasks to migrate data between the source and target data stores.

A task can consist of three major phases:

  • The full load of existing data
  • The application of cached changes
  • Ongoing replication

AWS Schema Conversion Tool

For heterogeneous database migrations, AWS DMS uses the AWS Schema Conversion Tool (AWS SCT). AWS SCT makes heterogeneous database migrations predictable by automatically converting the source database schema and a majority of the database code objects, including views, stored procedures, and functions, to a format compatible with the target database. Any objects that cannot be automatically converted are clearly marked so that they can be manually converted to complete the migration.

AWS SCT can also scan your application source code for embedded SQL statements and convert them as part of a database schema conversion project. During this process, AWS SCT performs cloud-native code optimization by converting legacy Oracle and SQL Server functions to their equivalent AWS service, thus helping you modernize the applications at the same time as database migration. The figure is snapshot of the Action Items tab in the AWS SCT report, which shows the items that the tool could not convert automatically. These are the items that you would need to evaluate and adjust manually as needed. The report helps you to determine how much work you would need to do to complete a conversion.

AWS SCT action items

AWS

After the schema conversion is complete, AWS SCT can help migrate data from a range of data warehouses to Amazon Redshift by using built-in data migration agents. Your source database can be on-premises, in Amazon RDS, or in Amazon EC2, and the target database can be in either Amazon RDS or Amazon EC2. AWS SCT supports a number of different heterogeneous conversions. Table 4.9 lists the source and target databases that are supported at the time of this writing.

Source and Target Databases Supported by AWS SCT

Source DatabaseTarget Database on Amazon RDS
Oracle DatabaseAmazon Aurora, MySQL, PostgreSQL, Oracle
Oracle Data WarehouseAmazon Redshift
Azure SQLAmazon Aurora, MySQL, PostgreSQL
Microsoft SQL ServerAmazon Aurora, Amazon Redshift, MySQL, PostgreSQL
TeradataAmazon Redshift
IBM NetezzaAmazon Redshift
IBM DB2 LUWAmazon Aurora, MySQL, PostgreSQL
HPE VerticaAmazon Redshift
MySQL and MariaDBPostgreSQL
PostgreSQLAmazon Aurora, MySQL
Amazon AuroraPostgreSQL
GreenplumAmazon Redshift
Apache CassandraAmazon DynamoDB