DVA-C02 · Question #458
A developer is creating a database of products. Queries for frequently accessed products must have retrieval times of microseconds. To ensure data consistency, the application cache must be updated wh
The correct answer is A. Set up an Amazon DynamoDB database and a DynamoDB Accelerator (DAX) cluster.. DynamoDB with DAX provides microsecond read latency and, unlike lazy loading, write-through caching keeps the cache consistent whenever items are written.
Question
A developer is creating a database of products. Queries for frequently accessed products must have retrieval times of microseconds. To ensure data consistency, the application cache must be updated whenever products are added, changed, or deleted. Which solution will meet these requirements?
Options
- ASet up an Amazon DynamoDB database and a DynamoDB Accelerator (DAX) cluster.
- BSet up an Amazon RDS database and an Amazon ElastiCache for Redis cluster. Implement a
- CSetup an Amazon DynamoDB database that has an in-memory cache. Implement a lazy loading
- DSet up an Amazon RDS database and an Amazon DynamoDB Accelerator (DAX) cluster. Specify
How the community answered
(45 responses)- A71% (32)
- B4% (2)
- C9% (4)
- D16% (7)
Why each option
DynamoDB with DAX provides microsecond read latency and, unlike lazy loading, write-through caching keeps the cache consistent whenever items are written.
DynamoDB is a fully managed NoSQL database, and DAX is its purpose-built in-memory cache that provides microsecond read latency. DAX uses a write-through caching strategy by default, meaning every write to DynamoDB also updates the DAX cache, ensuring data consistency whenever products are added, changed, or deleted.
RDS with ElastiCache using lazy loading only populates the cache on a cache miss, meaning stale data can be served until the TTL expires or the cache is explicitly invalidated; it does not automatically ensure consistency on every write.
Lazy loading caching strategy means the cache is only updated after a cache miss (a read), so writes that add, change, or delete products will not immediately reflect in the cache, violating the consistency requirement.
DAX is a caching layer designed exclusively for DynamoDB and cannot be used in front of an RDS database; placing DAX in front of RDS is not a valid architecture.
Concept tested: DynamoDB DAX write-through caching for microsecond latency and consistency
Source: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DAX.concepts.html
Community Discussion
No community discussion yet for this question.