Which solution will solve the throttling issue without requiring changes to the app?
Add a DynamoDB table in a secondary AWS Region. Populate the additional table by using DynamoDB Streams.
Deploy an Amazon ElastiCache cluster in front of the DynamoDB table.
Use on-demand capacity mode for the DynamoDB table.
Use DynamoDB Accelerator (DAX).
Explanations:
Adding a secondary DynamoDB table in another region does not address throttling issues in the primary region. It might help with disaster recovery or regional performance, but it doesn’t solve the read/write throttling directly in the current active region.
While ElastiCache can improve the read performance by caching data, it does not solve the underlying issue of DynamoDB throttling due to insufficient capacity in the table itself.
On-demand capacity mode automatically adjusts to unpredictable traffic patterns and can prevent throttling without needing any manual adjustments, making it a suitable solution for fluctuating workloads.
DynamoDB Accelerator (DAX) is designed for read-heavy workloads and can speed up read operations, but it does not help with write throttling, which is part of the problem described in the question.