Question

Difficulty: MediumHigh-Performing Database Solutions

A global e-commerce company is migrating its legacy database architecture to AWS. The company requires a database solution that can handle a product catalog database with read queries that must return in less than a millisecond. Additionally, transactional order records must be written with high throughput, and reporting queries must be offloaded to prevent performance degradation on the primary writer node.

Which combination of database configurations will meet these requirements? (Select TWO.)

  1. Configure Amazon Aurora with Auto Scaling Read Replicas to handle transactional writes on the primary instance and route reporting queries to the reader endpoint.Answer
  2. Deploy Amazon ElastiCache for Redis to store and serve cached product catalog data with sub-millisecond latency.Answer
  3. C
    Configure an Amazon RDS for MySQL Multi-AZ deployment and route reporting queries to the standby DB instance to reduce load on the primary DB instance.
  4. D
    Provision an Amazon DynamoDB table for order records, using a monotonically increasing sequence number as the partition key to maximize write partition efficiency.
  5. E
    Deploy Amazon RDS for PostgreSQL and use the read replica as the automatic failover target for high availability instead of enabling Multi-AZ.

Answer

The correct configurations are to deploy Amazon ElastiCache for Redis to cache catalog reads and configure Amazon Aurora with Auto Scaling Read Replicas to offload reporting queries.
Configuring Amazon Aurora with Auto Scaling Read Replicas allows the application to scale read capacity dynamically and direct reporting queries to the reader endpoint, preventing performance impact on the primary writer. Deploying Amazon ElastiCache for Redis in front of the database provides sub-millisecond response times for cached product catalog queries, meeting the extreme low-latency read requirements.

Step-by-Step Solution

1
Identify the latency requirement for product catalog reads.
The reads require sub-millisecond response times, which indicates an in-memory caching layer is needed.
Relational databases typically operate in the millisecond range; caching with in-memory stores like ElastiCache achieves microsecond/sub-millisecond latency.
2
Identify the transactional write and reporting query requirements.
High-throughput write performance is required, and reporting queries must not impact the primary database instance.
Amazon Aurora supports high-throughput writes and offers a reader endpoint to easily distribute reporting queries across auto-scaled read replicas.
3
Evaluate the architectural viability and performance limits of the options.
Standard RDS Multi-AZ standby instances cannot be read from, and monotonically increasing DynamoDB partition keys create write performance bottlenecks.
Understanding replica limitations and key design prevents architectural bottlenecks in high-performing systems.

Key Concept

Designing high-performing database architectures on AWS using caching, replication, and appropriate partition key design.
Rate this question