Q69 — AWS SAA-C03 Ch.17

Question 69 of 89 | ← Chapter 17

Q1369. An events company has deployed a web application on Amazon EKS. The application uses an Amazon DynamoDB table. The company has provisioned 1,000 read capacity units(RCUs) and 500 write capacity units(WCUs) for the DynamoDB table. The application performs eventually consistent reads against the table.The application's traffic is often low, but it occasionally grows significantly. During these sudden increases in traffic, DynamoDB returns throttling errors. The result is that error pages are displayed to end users. What should a solutions architect do to reduce these errors?

Correct Answer: A. Change the DynamoDB table to use on-demand capacity mode.

Explanation

The correct answer is A. Change the DynamoDB table to use on-demand capacity mode.Explanation:The company is experiencing throttling errors during sudden traffic spikes despite provisioning fixed 1,000 RCUs and 500 WCUs for their DynamoDB table. This indicates that their provisioned capacity is insufficient to handle unpredictable workloads, leading to poor user experience (error pages).Why Option A is the Best Choice:On-Demand Capacity ModeDynamoDB automatically scales read/write capacity based on traffic, eliminating the need for manual capacity planning.No throttling during sudden spikes (unless traffic exceeds DynamoDB's internal burst limits, which are very high).Cost-effective for unpredictable workloads You pay per request (no wasted capacity during low traffic).Eliminates Throttling ErrorsSince the application uses eventually consistent reads (which consume half the RCUs of strongly consistent reads), on-demand mode ensures sufficient capacity even during spikes.Why Other Options Are Incorrect:B. Create a DynamoDB read replica to scale read traffic horizontally DynamoDB does not support read replicas (unlike RDS).Global Tables can replicate data across regions, but they are for disaster recovery/multi-region access, not read scaling.DynamoDB Accelerator (DAX) can cache reads, but it doesn't solve throttling due to insufficient capacity. C. Purchase DynamoDB reserved capacity of 1,000 RCUs and 500 WCUs Reserved capacity provides cost savings for predictable workloads, but it does not help with sudden spikes (you still get throttled if traffic exceeds provisioned capacity).Wastes money if traffic is low most of the time.D. Configure the application to use strongly consistent reads for DynamoDB queries Worsens the problem Strongly consistent reads consume 2x RCUs (compared to eventually consistent), increasing the likelihood of throttling.Does not address the root cause (insufficient capacity during spikes).Best Practice for Unpredictable DynamoDB Workloads:Use On-Demand Capacity Mode Let DynamoDB auto-scale.If using Provisioned Mode, implement auto-scaling (but it has a delay in scaling up, so throttling may still occur).Optimize queries (use batch operations, projections, caching with DAX). Avoid strongly consistent reads unless absolutely necessary (they double RCU consumption).Conclusion:Option A is the most effective and simplest solution because it:Eliminates throttling by auto-scaling capacity.Requires no manual intervention (unlike auto-scaling in provisioned mode). Is cost-efficient for unpredictable traffic (pay only for what you use).Avoid Options B, C, and D (they either don't solve the problem or make it worse).