Courseiva

SAA-C03 Design High-Performing Architectures Practice Question

A financial services company runs a high-traffic REST API on Amazon EC2 instances behind an Application Load Balancer. The API retrieves user session data from an Amazon DynamoDB table for every request. During peak hours, DynamoDB read capacity is exhausted, causing throttling and increased latency. The workload is read-heavy and the session data is accessed frequently but changes infrequently. The solutions architect needs to reduce DynamoDB read load and improve API response times with minimal application changes. Which solution meets these requirements?

⚠ Common exam trap

The trap here is assuming that simply increasing read capacity or adding a read replica will reduce latency, when the real need is to offload repeated reads from the table with an in-memory cache.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

✓

Enable DynamoDB Accelerator (DAX) for the table and modify the application to use the DAX client for session reads.

DynamoDB Accelerator (DAX) is a fully managed, highly available in-memory cache for DynamoDB that delivers up to a 10x performance improvement, from milliseconds to microseconds. It is API-compatible with DynamoDB, so the application only needs to use the DAX client. For read-heavy workloads with infrequent updates, DAX reduces read capacity consumption and improves response times without requiring a major rewrite or data migration.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✗

    Migrate the session data to Amazon ElastiCache for Redis and modify the application to read from Redis instead of DynamoDB.

    Why it's wrong here

    Migrating session data to ElastiCache for Redis would offload reads from DynamoDB, but it requires significant application changes to switch the data store and manage cache invalidation. The requirement is minimal application changes. Additionally, ElastiCache does not provide the same durability as DynamoDB, and session data might need to be persisted. DAX integrates more seamlessly with existing DynamoDB API calls and requires less code modification.

  • ✗

    Create a read replica of the DynamoDB table in another region and direct all reads to the replica.

    Why it's wrong here

    DynamoDB does not support read replicas in the same way relational databases do. While DynamoDB global tables provide multi-Region replication, they are designed for active-active writes, not for offloading reads from a single Region. Directing reads to another Region would add latency and complexity, and global tables still consume read capacity in each Region. This does not solve the throttling issue.

  • ✗

    Increase the DynamoDB read capacity to a higher provisioned level and enable auto scaling.

    Why it's wrong here

    Increasing read capacity and enabling auto scaling addresses throttling by allowing more reads per second, but it does not reduce the actual read load on the table. The application still queries DynamoDB for every request, so latency remains dependent on DynamoDB response times. This approach also increases cost without providing the low-latency caching benefits that a dedicated cache would offer for frequently accessed session data.

  • ✓

    Enable DynamoDB Accelerator (DAX) for the table and modify the application to use the DAX client for session reads.

    Why this is correct

    DAX is an in-memory cache for DynamoDB that provides microsecond read latency and reduces the number of read capacity units consumed. It requires minimal code changes: the application uses the DAX client instead of the standard DynamoDB client. Since session data is read frequently and changes infrequently, DAX is ideal. It offloads read traffic from the table, preventing throttling and improving API response times.

About these practice questions

Courseiva writes every SAA-C03 question from scratch — 935 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written and reviewed by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

Last reviewed September 2026 · checked against the official Amazon Web Services exam blueprint

This SAA-C03 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SAA-C03 exam.