Question

Difficulty: MediumCost-Optimized Database Design and Capacity Planning

A company is designing a new web application and must select database options that minimize costs while meeting performance and availability requirements. The application has two primary database workloads:

1. A user session data store that experiences highly unpredictable, spiky traffic throughout the day with long periods of complete inactivity.
2. A relational transaction database that requires automatic failover across multiple Availability Zones, but has low, variable usage that drops significantly at night.

Which two database configurations should a solutions architect recommend to meet these requirements most cost-effectively? (Select TWO.)

  1. Deploy an Amazon DynamoDB table using on-demand capacity mode for the user session store.Answer
  2. Deploy Amazon Aurora Serverless v2 in a Multi-AZ configuration for the relational database.Answer
  3. C
    Deploy an Amazon DynamoDB table using provisioned capacity mode with auto scaling for the user session store.
  4. D
    Deploy a single-AZ Amazon RDS DB instance for the relational database, and configure a Read Replica in a separate Availability Zone to act as the primary failover target.
  5. E
    Deploy an Amazon RDS DB instance in a Multi-AZ configuration, and purchase a Compute Savings Plan to reduce compute costs.

Answer

The correct configurations are deploying Amazon DynamoDB in on-demand capacity mode for the user session store and deploying Amazon Aurora Serverless v2 in a Multi-AZ configuration for the relational database.
On-demand capacity mode for Amazon DynamoDB is highly cost-effective for unpredictable, spiky workloads because it charges per request without requiring provisioned capacity that would be wasted during idle times. Amazon Aurora Serverless v2 automatically scales compute capacity to match application demand, making it ideal for variable workloads that drop off at night, and when deployed in Multi-AZ, it provides the required automatic failover.

Step-by-Step Solution

1
Analyze the session store workload characteristics.
The session store has unpredictable traffic spikes and long idle periods, meaning capacity needs are highly variable and include zero-usage times.
Choosing the right capacity mode for DynamoDB depends on predicting the traffic pattern to minimize costs.
2
Evaluate the capacity mode for the session store.
Amazon DynamoDB on-demand capacity mode is selected because it charges strictly per request, avoiding any charge when idle, whereas provisioned capacity mode would charge continuously for unused capacity.
This guarantees that the company does not pay for over-provisioned database throughput during inactive hours.
3
Analyze the relational database workload and availability requirements.
The relational database requires automatic failover (Multi-AZ) and has low, variable usage that drops significantly at night.
The solution must support scaling down compute power during off-peak times while keeping high availability intact.
4
Evaluate the relational database engine and configuration.
Amazon Aurora Serverless v2 in a Multi-AZ deployment is selected. It scales compute capacity in small increments dynamically and scales down when traffic drops, while maintaining the secondary replica for failover.
This prevents paying for static provisioning of peak capacity during off-peak hours while satisfying the Multi-AZ requirement.

Key Concept

Selecting the cost-optimal capacity scaling mechanism (on-demand vs. provisioned vs. serverless scaling) and high-availability options based on workload patterns.
Rate this question