Which method should the solutions architect select?
Configure Amazon DynamoDB Accelerator (DAX) for the new messages table. Update the code to use the DAX endpoint.
Add DynamoDB read replicas to handle the increased read load. Update the application to point to the read endpoint for the read replicas.
Double the number of read capacity units for the new messages table in DynamoDB. Continue to use the existing DynamoDB endpoint.
Add an Amazon ElastiCache for Redis cache to the application stack. Update the application to point to the Redis cache endpoint instead of DynamoDB.
Explanations:
Amazon DynamoDB Accelerator (DAX) is specifically designed to provide fast, in-memory caching for DynamoDB, reducing latency for read-heavy applications. It requires minimal changes to the application (just updating the endpoint), and provides the fastest solution for low-latency reads of new messages.
DynamoDB read replicas are not supported for standard DynamoDB tables. Read replicas are only available for Amazon DynamoDB global tables, which would require significant changes to the application to support multi-region reads.
Doubling the number of read capacity units would increase throughput but does not reduce latency. It simply increases the available capacity to handle more reads, not necessarily optimizing for minimal latency, especially if the application is still bottlenecked by network or storage latency.
While adding Amazon ElastiCache for Redis can reduce latency for some workloads by caching frequent queries, it requires substantial application changes to cache the data and manage invalidation. This introduces more complexity and may not be necessary for real-time message reading if DAX is already optimized for this use case.