Which solution solves the performance problem the company faces?
Switch DynamoDB to on-demand mode during flash sales.
Implement DynamoDB Accelerator for fast in memory performance.
Use Amazon Kinesis to queue transactions for processing to DynamoDB.
Use Amazon Simple Queue Service (Amazon SQS) to queue transactions to DynamoDB.
Explanations:
Switching DynamoDB to on-demand mode allows the database to automatically scale to accommodate the unpredictable traffic during flash sales, eliminating the need to provision for peak throughput levels in advance and preventing transaction losses.
While DynamoDB Accelerator (DAX) provides in-memory caching for faster performance, it does not address the underlying issue of provisioned throughput limits during high transaction volumes. It can improve read performance but will not help with write capacity during spikes.
Using Amazon Kinesis to queue transactions may help in managing the load but does not directly resolve the transaction handling capacity in DynamoDB during peak periods. It adds complexity and requires additional processing to move data from Kinesis to DynamoDB.
Amazon Simple Queue Service (SQS) can queue transactions and help decouple application components, but it requires additional logic to process queued messages and insert them into DynamoDB, which may not fully alleviate the performance issues during high demand.