DVA-C02 Question 389
Single answerA developer is working on an ecommerce application hosted on AWS. The application frequently retrieves product details from a DynamoDB table, but the product data does not change frequently. To improve performance and reduce DynamoDB read costs, which approach should the developer implement?
- A
Enable DynamoDB Accelerator (DAX) and configure it to cache product details.
- B
Use AWS Lambda to cache product details in the application code.
- C
Integrate Amazon ElastiCache with the application to store product details in memory.
- D
Enable DynamoDB Streams to retrieve product details with lower latency.
Show answer and explanation
Correct answer: A
Explanation
To optimize performance and reduce read costs when accessing frequently read but infrequently updated data from a DynamoDB table, DynamoDB Accelerator (DAX) is the recommended solution. DAX is a fully managed, in-memory caching service specifically designed to work seamlessly with DynamoDB. It can significantly improve the read performance of the application while reducing the cost of read operations.
- A. Correct.
This is the correct answer. DynamoDB Accelerator (DAX) is an in-memory cache specifically designed to improve performance and reduce read costs for DynamoDB. It is well-suited for scenarios with frequently accessed but infrequently updated data.
- B. Incorrect.
This is incorrect. AWS Lambda is not used to directly implement caching. While it can process and manage data, it does not provide in-memory caching capabilities.
- C. Incorrect.
This is incorrect. While Amazon ElastiCache provides in-memory caching, it is not specifically optimized for DynamoDB, and using DAX is a more suitable solution in this scenario.
- D. Incorrect.
This is incorrect. DynamoDB Streams is used to capture table updates in real-time but does not provide caching functionality or reduce read costs.