Database migration refers to the process of moving data from one or more sources to a target AWS database. Successful database migration requires comprehensive planning, precise execution, and the right tools. For anyone preparing for the AWS Certified Cloud Practitioner (CLF-C02) exam, understanding the various database migration tools available through AWS is thus critical. In this article, we will dive into different AWS tools such as AWS Database Migration Service (AWS DMS) and AWS Schema Conversion Tool (AWS SCT).
AWS Database Migration Service (AWS DMS)
AWS DMS helps migrate databases to AWS in a secure and straightforward manner. The service supports homogenous migrations such as Oracle to Oracle, and heterogeneous migrations such as Oracle to Amazon Aurora or Microsoft SQL Server to MySQL. Additionally, AWS DMS can replicate data continuously to Multi-AZ AWS databases from on-premises databases for disaster recovery, database upgradation, or analytics.
Key Features of AWS DMS:
- Wide-range of sources and targets: AWS DMS supports most widely used databases as sources and targets.
- Minimal downtime: The service enables continuous data replication, thus minimizing downtime during translation.
- Automated schema conversion: The source schema and code can be automatically converted to match the target with AWS SCT.
- Reliability and recovery: AWS DMS monitors replication tasks, network connectivity, and host resources, and automatically recovers from any failures.
AWS Schema Conversion Tool (AWS SCT)
AWS SCT facilitates the migration of your schema and code from one database engine to another. Initially, it inspects your source database and automatically creates an equivalent schema in the target AWS database. Additionally, AWS SCT can convert your proprietary SQL code to an equivalent code aligned with the new database.
Key Features of AWS SCT:
- Detailed assessment reports: AWS SCT provides a detailed report projecting the complexity, effort, and risks associated with the migration.
- Code conversion: Converts application code that embeds SQL statements.
- Integration with DMS: AWS SCT can work with AWS DMS to apply data replication between heterogeneous databases.
- Cloud-native database support: Supports schema and code conversion to cloud-native database services like Amazon Aurora, Amazon Redshift, and Amazon DynamoDB.
AWS DMS and AWS SCT in Action
To highlight the synergy between AWS DMS and AWS SCT, let us consider the task of migrating an on-premises Oracle database to Amazon Aurora.
First, with AWS SCT, you generate a project to convert the Oracle schema to an Aurora schema. AWS SCT assesses your database schema and creates a report detailing the conversion difficulty, conversion statistics, and action items. Following this, you can convert the schema with a few clicks and create and apply it to your target Aurora database.
Next, AWS DMS can take over. After defining your source (Oracle) and target (Aurora) endpoints, you can create a replication instance. The actual data migration happens in the form of a replication task, and you can specify your schema conversion project in this task. Once the task is started, AWS DMS carries out the migrations and provides metrics, logs, and alerts so you can monitor the process.
It’s important to note that while these tools streamline the migration process, careful planning and testing are vital to address any errors or issues that might arise during the migration.
In conclusion, AWS provides an array of database migration tools, predominantly AWS DMS and AWS SCT, that play a significant role in facilitating a safe, secure, and near-seamless database migration process. With these tools, not only can you move your databases to the cloud with minimal downtime, but you also get the benefit of automatic schema conversion, continuous replication, detailed assessment reports, and more. Thus, they are critical knowledge areas for the AWS Certified Cloud Practitioner (CLF-C02) exam.
Practice Test
True or False: AWS DMS can migrate your data to and from most widely used commercial and open-source databases.
- True
- False
Answer: True
Explanation: AWS DMS supports homogenous migrations such as Oracle to Oracle, as well as heterogeneous migrations between different database platforms, such as Oracle to Amazon Aurora.
AWS Database Migration Service (AWS DMS) only supports migrating databases to AWS Cloud.
- True
- False
Answer: False
Explanation: AWS DMS can also be used for migrating databases between on-premises instances or from AWS back to on-premises instances.
True or False: AWS Schema Conversion Tool (AWS SCT) is used to convert the source database schema and a majority of the database code objects to a format compatible with the target database.
- True
- False
Answer: True
Explanation: The AWS SCT automates much of the process of converting your online transaction processing (OLTP) schema objects that are part of your data warehouse conversions.
Which AWS tool is an effective way to extract, transform, and load (ETL) data from an on-premises database to an AWS database?
- A. AWS Glue
- B. AWS SCT
- C. AWS DMS
- D. AWS EBS
Answer: C. AWS DMS
Explanation: AWS Database Migration Service (DMS) helps you migrate on-premises databases to AWS easily and securely.
Can AWS SCT generate a database migration assessment report which can guide you in your heterogeneous migrations?
- A. Yes
- B. No
Answer: A. Yes
Explanation: AWS SCT can help you determine the effort involved in your migration projects by generating a database migration assessment report.
True or False: Database migration with AWS DMS requires the source database to be offline.
- True
- False
Answer: False
Explanation: With AWS DMS, your source database remains fully operational during the migration, minimizing downtime to applications.
Which of the following is not a potential target for AWS DMS migration?
- A. DynamoDB
- B. Oracle
- C. AWS Glue
- D. Aurora
Answer: C. AWS Glue
Explanation: AWS DMS is capable of migrating to many AWS services, like DynamoDB, Oracle, and Aurora. However, AWS Glue is not a target database, it’s a fully managed extract, transform, and load (ETL) service.
True or False: The AWS DMS can be used to replicate data for High Availability purposes.
- True
- False
Answer: True
Explanation: AWS DMS can also replicate data continuously from your source database to the target, and can be used for High Availability solutions.
What does the AWS Schema Conversion Tool primarily convert in a database migration process?
- A. Database schema
- B. Physical storage
- C. Network topology
- D. EC2 instances
Answer: A. Database schema
Explanation: The AWS Schema Conversion Tool makes heterogeneous database migrations predictable by automatically converting the source database schema and a majority of the custom code to a format compatible with the target database.
True or False: AWS SCT can help migrate a database from commercial engine like Oracle to an open-source engine like PostgreSQL.
- True
- False
Answer: True
Explanation: AWS SCT reduces the complexity of migrating databases from commercial engines like Oracle towards open-source engines like PostgreSQL by converting schema and SQL statements.
Do AWS DMS and AWS SCT support migration of data towards non-AWS databases.
- A. Yes
- B. No
Answer: A. Yes
Explanation: Both DMS and SCT support migration of data between on-premise databases, AWS databases, and even some non-AWS cloud databases.
AWS DMS supports ____________ migration such as Oracle to Oracle.
- A. Homogenous
- B. Heterogenous
Answer: A. Homogenous
Explanation: Apart from supporting heterogenous migrations (like Oracle to Aurora), DMS also supports homogenous migrations (like Oracle to Oracle).
True or False: AWS SCT can convert embedded SQL in your applications.
- True
- False
Answer: True
Explanation: AWS SCT can convert embedded SQL in applications and even the SQL within your stored procedures and functions.
Which of the following is a tool for minimizing downtime during migration, by running source and target database in parallel?
- A. AWS EC2
- B. AWS DMS
- C. AWS SCT
- D. AWS Lambda
Answer: B. AWS DMS
Explanation: The AWS DMS can keep source and target databases in sync to minimize downtime during migration.
True or False: The AWS DMS and AWS SCT tools are free to use, but you are charged for the resources used during the migration.
- True
- False
Answer: True
Explanation: While AWS DMS and AWS SCT are free to use, you need to pay for the resources consumed during the process of migration.
Interview Questions
What is the main purpose of AWS Database Migration Service (AWS DMS)?
AWS DMS is designed to help users migrate databases to AWS quickly and securely. The source database remains fully operational during the migration, reducing downtime to applications that rely on the database.
How does AWS Schema Conversion Tool (AWS SCT) assist in cloud migration?
AWS SCT makes heterogeneous database migrations predictable by automatically converting the source database schema and majority of the database code objects, including views, stored procedures, and functions, to a format compatible with the target database.
Which database types are supported by AWS DMS for migration?
AWS DMS supports a broad range of databases including Oracle, Microsoft SQL Server, MySQL, MariaDB, PostgreSQL, SAP ASE, MongoDB, and many more.
Does AWS DMS support migration between different database engines?
Yes, AWS DMS supports homogeneous migrations such as Oracle to Oracle, as well as heterogeneous migrations between different database platforms, such as Oracle to Amazon Aurora or Microsoft SQL Server to MySQL.
Are there any prerequisites for using AWS SCT?
Yes, to use AWS SCT effectively, AWS recommends doing a detailed analysis of your schema conversion project. You need information about the source and target database engines, versions, operating systems and time zones.
When would I use AWS SCT over AWS DMS?
AWS SCT is used when migrating database schemas from one engine to another. AWS DMS is used to migrate the data itself. In many cases, you’d use SCT first to handle schema conversions, then use DMS to migrate the data.
Is it possible to use AWS DMS for ongoing replication?
Yes, AWS DMS supports both one-time migrations and ongoing replications for continuous data replication.
How does AWS SCT handle complex conversions that require refactoring?
When AWS SCT encounters code that cannot be automatically converted, it extracts this code and provides guidance on how to manually convert that code.
How can AWS SCT aid in moving databases to Amazon RDS or Amazon Redshift?
AWS SCT can scan your source database schema and application code, convert the schema, and extract and convert application code into a format compatible with the target database. This helps in moving databases to Amazon RDS or Amazon Redshift.
What is the role of AWS DMS in disaster recovery?
AWS DMS can be used to replicate data from on-premises databases to AWS and create a low-cost hybrid environment for disaster recovery purposes.
Is it possible to pause or resume a migration anytime using AWS DMS?
Yes, AWS DMS allows pausing and resuming the migration anytime which provides great flexibility during the process.
Can AWS SCT convert SQL procedures and views to the target database equivalent?
Yes, AWS SCT not only converts the database schema but also migrates procedural code, user-defined functions, and views to the target database.
Does AWS DMS support encrypted connections for data migration?
Yes, AWS DMS supports SSL-enabled connections to many source and target endpoints to ensure secure data migration.
Which AWS service is primarily used for comparison of source and target databases during migration?
AWS DMS can be used to compare the migration with the source to ensure an accurate migration.
How does AWS handle data consistency during migrations using AWS DMS?
AWS DMS uses a multi-step process to ensure that all changes to the source database that occur during the migration are automatically replicated to the target.