AWS - Certified Solutions Architect Database Services and Migration Questions and Answers 1 — Questions and Answers
Question 1: A company is planning to migrate a 10TB on-premises Oracle database to Amazon Aurora PostgreSQL. The migration must be completed with minimal downtime. The source database contains numerous stored procedures and functions specific to Oracle's PL/SQL. What is the correct sequence of actions using AWS services to achieve this migration?
- Use AWS Snowball Edge to transport the data, then use AWS DMS to apply ongoing changes.
- Use AWS DMS for a full load and ongoing replication, and manually convert the schema at the target.
- Use the AWS Schema Conversion Tool (SCT) to convert the schema and code objects, then use AWS Database Migration Service (DMS) to migrate the data. (Correct answer)
- Use AWS Backup to create a backup of the on-premises database and restore it to an Aurora cluster.
Correct answer: Use the AWS Schema Conversion Tool (SCT) to convert the schema and code objects, then use AWS Database Migration Service (DMS) to migrate the data.
For a heterogeneous migration (Oracle to PostgreSQL) with minimal downtime, the correct approach involves two main steps. First, use the AWS Schema Conversion Tool (SCT) to assess and convert the source schema and custom code (like PL/SQL stored procedures) to a format compatible with the target database (Aurora PostgreSQL). Second, use the AWS Database Migration Service (DMS) to perform the full data load and then capture and apply ongoing changes (Change Data Capture - CDC) from the source to the target, which keeps the databases synchronized and minimizes downtime during the final cutover.
Question 2: A popular e-commerce website uses an Amazon RDS for MySQL database. During peak shopping events, the website experiences slow performance due to a high volume of read traffic, which impacts the primary database's ability to handle write operations. The company needs a solution to improve read performance and offload queries from the primary database instance. Which RDS feature is specifically designed to address this requirement?
- Enabling Multi-AZ deployment
- Creating Read Replicas (Correct answer)
- Increasing the RDS instance size (vertical scaling)
- Switching to Provisioned IOPS (PIOPS) storage
Correct answer: Creating Read Replicas
Read Replicas are designed specifically for scaling read-heavy workloads. They are asynchronous copies of the primary database instance that can serve read traffic, thereby reducing the load on the primary instance and improving overall performance. While Multi-AZ provides high availability and disaster recovery, the standby instance cannot be used to serve read traffic. Increasing instance size or switching to PIOPS can help performance but do not address the fundamental issue of offloading read queries.
Question 3: A development team is building a new mobile gaming application that requires a database for storing player scores and session data. The application needs extremely low latency (single-digit milliseconds) for both reads and writes, and it must scale seamlessly to handle millions of users with unpredictable traffic patterns. Which AWS database service is the most appropriate choice for this use case?
- Amazon RDS for PostgreSQL with Multi-AZ
- Amazon Redshift
- Amazon DynamoDB (Correct answer)
- Amazon S3
Correct answer: Amazon DynamoDB
Amazon DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability. It is designed for applications that require consistent, single-digit millisecond latency at any scale, making it ideal for use cases like mobile gaming, ad tech, and session stores. RDS is a relational database and may not provide the same level of low-latency performance at massive scale for this access pattern. Redshift is a data warehouse for analytics, and S3 is an object store, not a low-latency database.
Question 4: A financial services company is running a critical OLTP application on Amazon RDS for MySQL. They are looking to improve performance, scalability, and availability beyond what standard RDS offers. They want a solution that is MySQL-compatible, provides significantly higher throughput, and has a self-healing, fault-tolerant storage architecture distributed across three Availability Zones. Which AWS database service should they migrate to?
- Amazon RDS for SQL Server
- Amazon ElastiCache for Redis
- Amazon DynamoDB with Global Tables
- Amazon Aurora (Correct answer)
Correct answer: Amazon Aurora
Amazon Aurora is a MySQL and PostgreSQL-compatible relational database built for the cloud. It provides the performance and availability of commercial databases at a fraction of the cost. Key features include up to 5x the throughput of standard MySQL, a fault-tolerant and self-healing storage system that replicates six copies of data across three Availability Zones, and low-latency read replicas. This directly matches the requirements for improved performance, scalability, and availability while maintaining MySQL compatibility.
Question 5: An application is built on Amazon EC2 instances with an Amazon RDS for PostgreSQL database as its backend. Performance monitoring reveals that the database is under heavy load due to a large number of repetitive read queries for frequently accessed data, such as user profiles and product catalogs. This is causing high latency for all users. What is the most effective way to improve application latency by reducing the load on the RDS database?
- Implement Amazon CloudFront to cache the data at the edge.
- Increase the provisioned IOPS of the RDS database's storage.
- Implement Amazon ElastiCache to serve as an in-memory cache. (Correct answer)
- Create more RDS Read Replicas.
Correct answer: Implement Amazon ElastiCache to serve as an in-memory cache.
Amazon ElastiCache is a fully managed in-memory caching service designed to improve the performance of web applications by retrieving information from fast, managed, in-memory caches, instead of relying on slower disk-based databases. By caching the results of frequent queries, ElastiCache can significantly reduce the read load on the RDS database, decrease latency, and improve overall application performance. While Read Replicas can help, an in-memory cache is often more effective and faster for highly repetitive queries.
Question 6: Which of the following BEST describes the primary distinction between an Amazon RDS Multi-AZ deployment and an RDS Read Replica?
- Multi-AZ uses asynchronous replication for scalability, while a Read Replica uses synchronous replication for durability.
- Multi-AZ is primarily for disaster recovery in another region, while a Read Replica is for high availability in another AZ.
- Multi-AZ provides high availability via a standby instance for failover, while a Read Replica provides read scalability. (Correct answer)
- A Multi-AZ standby instance can be used for read operations, while a Read Replica cannot.
Correct answer: Multi-AZ provides high availability via a standby instance for failover, while a Read Replica provides read scalability.
The core difference lies in their primary purpose. A Multi-AZ deployment is a high-availability solution that uses synchronous replication to maintain a standby instance in a different Availability Zone for automatic failover in case the primary instance fails. A Read Replica is a scalability solution that uses asynchronous replication to create one or more read-only copies of the primary database to handle read-heavy traffic. The Multi-AZ standby instance cannot be used to serve read traffic.
A company is planning to migrate a 10TB on-premises Oracle database to Amazon Aurora PostgreSQL.
The migration must be completed with minimal downtime.
The source database contains numerous stored procedures and functions specific to Oracle's PL/SQL.
What is the correct sequence of actions using AWS services to achieve this migration?