Question 1 · choose 1
A gaming company keeps player profiles in a DynamoDB table. The same profiles are read thousands of times per second, reads must return in microseconds, eventually consistent data is acceptable, and the developers want as few code changes as possible. Which solution meets these requirements?
- APut a DynamoDB Accelerator (DAX) cluster in front of the table and use a DAX client
- BAdd an Amazon ElastiCache cluster and write cache-aside logic around every read
- CSwitch the table to on-demand capacity mode so that it scales with the read traffic
- DTurn the table into a global table with replica tables in two more AWS Regions
Show the answer and why
APut a DynamoDB Accelerator (DAX) cluster in front of the table and use a DAX client
Correct
DAX is an in-memory cache that is API-compatible with DynamoDB and cuts eventually consistent reads from milliseconds to microseconds with minimal changes.
BAdd an Amazon ElastiCache cluster and write cache-aside logic around every read
Incorrect
ElastiCache can cache the profiles, but the developers would write and maintain the caching logic, which is more change than a drop-in client.
CSwitch the table to on-demand capacity mode so that it scales with the read traffic
Incorrect
On-demand mode changes how throughput is provisioned and billed; reads still take single-digit milliseconds.
DTurn the table into a global table with replica tables in two more AWS Regions
Incorrect
Global tables replicate data across Regions for multi-Region access and resilience; they do not bring reads down to microseconds.
Microsecond reads from DynamoDB with almost no code change is the reason DAX exists.
AWS documentation