Question

Difficulty: EasyOptimizing Performance with Caching and DAX

A gaming company is experiencing high read latency on a metadata table in Amazon DynamoDB, which is causing slow response times in their mobile leaderboard application. The read latency needs to be reduced from single-digit milliseconds to microseconds to support a real-time user experience. Which of the following caching solutions is the most appropriate to resolve this latency bottleneck?

  1. Deploy an Amazon DynamoDB Accelerator (DAX) cluster to serve as an in-memory cache directly in front of the DynamoDB table.Answer
  2. B
    Schedule periodic Scan operations on the DynamoDB table and cache the returned items in an Amazon ElastiCache for Memcached cluster.
  3. C
    Increase the provisioned Read Capacity Units (RCUs) on the DynamoDB table and implement write-key salting to handle hot partitions.
  4. D
    Store the DynamoDB read query results in AWS Secrets Manager and configure a custom cache rotation window.

Answer

Deploy an Amazon DynamoDB Accelerator (DAX) cluster to serve as an in-memory cache directly in front of the DynamoDB table.
Deploying a DynamoDB Accelerator (DAX) cluster is the correct approach because DAX provides a fully managed, highly available, in-memory cache directly in front of DynamoDB tables. It reduces read latency to microseconds and is API-compatible, meaning developers can use it without changing client-side logic.

Step-by-Step Solution

1
Identify the database latency requirement.
The target latency is in the microsecond range, down from single-digit milliseconds.
This determines that an in-memory database cache is required.
2
Evaluate DynamoDB-specific caching technologies.
Amazon DynamoDB Accelerator (DAX) is the native in-memory caching service designed specifically for DynamoDB.
DAX provides microsecond latency and is API-compatible, eliminating the need to rewrite application caching logic.

Key Concept

Amazon DynamoDB Accelerator (DAX) is the dedicated caching solution for DynamoDB, providing microsecond read performance without requiring application-side cache management code.
Estimated Time:45s
Rate this question