A content management company is migrating its application to AWS. The application has two distinct workloads:
1. A transaction-heavy user management system that requires strict ACID compliance and relational integrity, with a read-to-write ratio of . The system must survive a database instance failure with minimal recovery time.
2. A high-volume event logging system that records user clicks. This log has highly unpredictable and spiky write patterns, but queries are simple key-value lookups.
Which configuration represents the most high-performing and scalable database solution?
- Deploy an Amazon Aurora Multi-AZ DB cluster for the user management system and use Aurora Read Replicas to offload read traffic. Store the event logging data in an Amazon DynamoDB table configured with On-Demand capacity mode and a partition key of event_uuid.Answer
- BDeploy a single Amazon RDS PostgreSQL instance for user management, using an RDS Read Replica as the primary failover target to handle automatic disaster recovery. Store the event logging data in an Amazon DynamoDB table configured with On-Demand capacity mode and a partition key of event_uuid.
- CDeploy an Amazon Aurora Multi-AZ DB cluster for the user management system and use Aurora Read Replicas to offload read traffic. Store the event logging data in an Amazon DynamoDB table configured with On-Demand capacity mode and a partition key of event_date (formatted as YYYY-MM-DD) to group daily event logs.
- DDeploy an Amazon Aurora Multi-AZ DB cluster for the user management system and use Aurora Read Replicas to offload read traffic. Store the event logging data in an Amazon DynamoDB table using Provisioned capacity mode with a static, pre-defined write capacity limit set to match peak event rates, and a partition key of event_uuid.
Answer
Deploy an Amazon Aurora Multi-AZ DB cluster for the user management system and use Aurora Read Replicas to offload read traffic. Store the event logging data in an Amazon DynamoDB table configured with On-Demand capacity mode and a partition key of event_uuid.
The correct configuration utilizes an Amazon Aurora Multi-AZ DB cluster to ensure high availability and relational performance, offloading read traffic to read replicas. For the event logging system, Amazon DynamoDB with a high-cardinality partition key (event_uuid) distributes write operations evenly across partitions. Configuring the table in On-Demand capacity mode accommodates highly unpredictable, spiky write workloads efficiently without throttling or unnecessary idle capacity costs.
Step-by-Step Solution
Key Concept
High-performing database design involves selecting the correct database engine (relational vs. NoSQL) based on access patterns, configuring appropriate high availability (Multi-AZ vs. replicas), and designing proper partition keys and capacity modes in DynamoDB to handle write patterns.