An order ingestion application named OrderSync processes real-time transaction updates and writes them to an Amazon DynamoDB table. The table is configured with provisioned write capacity. During high-traffic flash sales, the application experiences a high rate of ProvisionedThroughputExceededException errors. CloudWatch metrics indicate that the overall write capacity consumption is well below the table's provisioned limit, but the write operations are concentrated on a small number of partition keys representing trending items.
Which TWO actions should the developer take to resolve these throttling issues? (Select TWO.)
- Modify the application's write logic to append a random numeric suffix to the partition key for high-volume items to distribute writes across multiple partitions.Answer
- Implement exponential backoff and jitter in the application's SDK client retry configuration to handle transient throttling errors.Answer
- CChange the database read operations to use Scan instead of Query to bypass partition throughput limits.
- DIncrease the visibility timeout of the SQS queue that feeds the application to give DynamoDB partitions more time to complete write operations.
- EHardcode the access keys of an IAM user with administrator permissions in the AWS SDK client to bypass provisioning limits.
Answer
Modify the application's write logic to append a random numeric suffix to the partition key for high-volume items, and implement exponential backoff and jitter in the application's SDK client retry configuration.
The correct options are to append a random numeric suffix to the partition key (which spreads the write requests across multiple physical partitions, preventing individual partition limit exhaustion) and to configure the AWS SDK with exponential backoff and jitter (which handles temporary spikes in write requests without failing the transactions outright).
Step-by-Step Solution
Key Concept
Resolving DynamoDB throttling issues by avoiding hot partitions through partition key sharding and handling transient failures using backoff and jitter.