AWS Certified Solutions Architect Associate SAA-C03 Practice Question
Your application, backed by an Amazon DynamoDB table, experiences unpredictable surges in read traffic that cause latency spikes. The dataset is too large to fit entirely in memory, and most items are rarely accessed, so you want to cache only the frequently requested items on demand. When data is updated, the change must become visible to clients reading through the cache within roughly one second, and you do not want to maintain any custom cache-invalidation logic. Which solution should you implement?
Deploy an Amazon DynamoDB Accelerator (DAX) cluster and access the DynamoDB table through the DAX endpoints, relying on its write-through, multi-AZ, in-memory cache.
Use Amazon ElastiCache for Redis with a lazy-loading strategy and trigger AWS Lambda functions from DynamoDB Streams to invalidate or update cached keys on data changes.
Increase the number of Amazon RDS read replicas and implement a custom application-level cache to keep data consistent after updates.
Implement Amazon ElastiCache for Memcached with a write-through client library and rely on its LRU eviction policy for seldom-used data.
Amazon DynamoDB Accelerator (DAX) is a fully managed, in-memory, write-through cache purpose-built for DynamoDB. A write sent through the DAX client is first persisted in DynamoDB and then asynchronously replicated to every node in the DAX cluster-typically in less than one second-so subsequent reads through any node quickly return the new value without requiring application-level invalidation logic. DAX can absorb sudden spikes in read traffic while delivering micro-second latency (up to a 10× improvement over DynamoDB alone).
ElastiCache for Redis could meet low-latency goals, but you would have to build and maintain stream- or event-driven invalidation code to keep the cache in sync. RDS read replicas add read capacity but do not provide a caching layer and introduce replica-lag. Memcached lacks cross-node replication, so an update written through one client is not seen by clients that hash to other nodes until the key is evicted. Therefore, deploying a DAX cluster is the most operationally efficient and scalable choice.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What is Amazon DynamoDB Accelerator (DAX)?
Open an interactive chat with Bash
What does 'write-through caching' mean?
Open an interactive chat with Bash
Why is immediate data consistency important in caching strategies?