SAA-C03 Design Resilient Architectures Practice Question
A logistics firm runs an order-processing service that reads from an Amazon SQS queue and writes results to an Amazon DynamoDB table. During a marketing event, the consumer fleet scaled out aggressively and DynamoDB began returning ProvisionedThroughputExceededException errors, causing messages to be retried and some orders to be processed twice. The architects want to absorb traffic spikes without overprovisioning capacity and without duplicate processing. Which combination of changes should they make?
⚠ Common exam trap
The trap here is treating throttling and duplicate processing as one problem, when they require two independent fixes.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Switch the DynamoDB table to on-demand capacity mode and have the consumer use a conditional write with an idempotency key derived from the message ID.
The symptom set has two distinct causes: a capacity model that cannot absorb spikes and a consumer that is not idempotent. On-demand capacity mode lets the table follow the workload without manual provisioning, while a conditional write on a stable idempotency key makes repeated delivery harmless. Addressing both together is what stops the throttling and the duplicate orders.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Add a global secondary index on the message ID and query it before each write to check whether the order has already been stored.
Why it's wrong here
A read-before-write check is not atomic, so two consumers can both read a miss and then both write, producing duplicates. It also adds read traffic to an already throttled table, worsening the ProvisionedThroughputExceededException errors. A secondary index does not enforce uniqueness, so it cannot guarantee idempotent processing under concurrency.
- ✓
Switch the DynamoDB table to on-demand capacity mode and have the consumer use a conditional write with an idempotency key derived from the message ID.
Why this is correct
On-demand capacity mode removes the need to forecast or preprovision read and write capacity, so the table scales with the traffic spike automatically. Using a conditional write keyed on a stable message identifier makes repeated processing of the same message a no-op, eliminating duplicates. Together these address both the throttling and the duplicate-order symptoms described.
- ✗
Increase the table's provisioned write capacity units substantially and enable DynamoDB Streams so that duplicate items can be detected after the fact.
Why it's wrong here
Raising provisioned capacity helps only if the new value exceeds the peak, which is fragile during unpredictable spikes, and it does not prevent duplicate writes. DynamoDB Streams records item changes for downstream consumption but does not reject or deduplicate writes. This combination leaves the duplicate-processing problem unsolved and keeps the overprovisioning cost.
- ✗
Move the table to a different AWS Region and enable DynamoDB Accelerator (DAX) in front of it to cache the writes during the spike.
Why it's wrong here
Relocating the table does not change how it scales, and a cache does not absorb writes durably. DAX is a read-through and write-through cache for eventually consistent reads and does not prevent duplicate item writes or remove throttling on the underlying table. The duplicate orders and capacity spikes would persist.
Go deeper
Related to this question
About these practice questions
Courseiva writes every SAA-C03 question from scratch — 935 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official Amazon Web Services exam blueprint
This SAA-C03 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SAA-C03 exam.