A company is designing a new two-tier web application on AWS that requires two database components:
1. A metadata store that records user profiles and session preferences. This store experiences sudden, highly irregular spikes in read and write traffic during flash sales, with long periods of near-zero activity.
2. A relational transaction database containing order history that requires high availability, where read queries are highly repetitive and dominate the workload.
The company wants to design a database architecture that is highly resilient, performant, and cost-optimized. Which two database configurations should the solutions architect recommend to meet these requirements? (Select TWO.)
- Configure the metadata store using Amazon DynamoDB in On-Demand capacity mode.Answer
- Deploy the order history database as an Amazon RDS Multi-AZ DB instance and implement Amazon ElastiCache to cache the repetitive read queries.Answer
- CConfigure the metadata store using Amazon DynamoDB in Provisioned Capacity mode with Auto Scaling enabled, set to a high write baseline.
- DDeploy the order history database as a Single-AZ Amazon RDS DB instance with multiple Read Replicas, and configure the replicas for automatic disaster recovery failover.
- EDeploy the order history database as an Amazon RDS Multi-AZ DB instance and purchase a Compute Savings Plan to reduce the database instance costs.
Answer
Configure the metadata store using Amazon DynamoDB in On-Demand capacity mode, and deploy the order history database as an Amazon RDS Multi-AZ DB instance and implement Amazon ElastiCache to cache the repetitive read queries.
For the metadata store, configuring Amazon DynamoDB in On-Demand capacity mode is the most cost-effective choice because the workload is highly irregular and spiky. This avoids over-provisioning capacity during idle times while ensuring the database scales automatically during flash sales. For the order history database, deploying an Amazon RDS Multi-AZ DB instance ensures high availability, while adding Amazon ElastiCache to cache the highly repetitive read queries offloads database traffic, allowing the database to be scaled down to a smaller, less expensive instance class.
Step-by-Step Solution
Key Concept
Selecting cost-effective database capacity modes and using caching layers to reduce database instance sizes while maintaining high availability.