A logistics company runs a fleet tracking application that records real-time telemetry data from delivery vehicles in an Amazon DynamoDB table. The write workload is highly variable. During standard weekday operations, the table experiences a steady, predictable baseline of . However, during a daily synchronization window that occurs at random times depending on fleet arrivals, regional depots upload batch telemetry data, causing write traffic to spike instantly to . The application requires immediate data visibility and cannot tolerate any write throttling or data loss. Which capacity planning strategy is the most cost-effective and meets the performance requirements?
- AConfigure the DynamoDB table with provisioned capacity mode, enabling Auto Scaling with a minimum write capacity of and a maximum of .
- Configure the DynamoDB table to use on-demand capacity mode.Answer
- CConfigure the DynamoDB table with provisioned capacity mode statically set to write capacity units, and purchase a Compute Savings Plan to reduce the cost of the provisioned write capacity.
- DMigrate the telemetry database to Amazon RDS for PostgreSQL, deploying a single primary DB instance with a read replica in a different Availability Zone, and direct the application to write to the read replica if the primary instance experiences performance issues.
Answer
Configure the DynamoDB table to use on-demand capacity mode.
Configuring the DynamoDB table to use on-demand capacity mode is the most cost-effective and reliable solution. On-demand mode handles sudden, unpredictable spikes in write traffic instantly without throttling, and only charges for the actual reads and writes consumed. This avoids the cost of statically provisioning for the peak () while meeting the strict requirement of no data loss or throttling.
Step-by-Step Solution
Key Concept
DynamoDB On-Demand vs. Provisioned Capacity Auto Scaling for unpredictable workloads