DVA-C02 Development with AWS Services Practice Question
A developer is designing a serverless application that uses Amazon DynamoDB as the data store. The application must handle sudden spikes in read traffic without throttling. Which THREE actions should the developer take?
⚠ Common exam trap
It's easy for candidates to confuse throttling prevention mechanisms (auto scaling, caching) with throttling mitigation techniques (exponential backoff) or unrelated features (GSIs, consistency models), leading them to select options that do not actually prevent throttling.
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
✓
Configure DynamoDB auto scaling for the table
DynamoDB auto scaling (option A) dynamically adjusts the provisioned read and write capacity based on actual traffic patterns, using CloudWatch alarms and the Application Auto Scaling service. This ensures the table can handle sudden spikes in read traffic without manual intervention, preventing throttling exceptions.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Configure DynamoDB auto scaling for the table
Why this is correct
DynamoDB auto scaling dynamically adjusts the provisioned read and write capacity units (RCUs/WCUs) for a table or global secondary index based on actual traffic patterns. By automatically increasing capacity during peak loads and decreasing it during lulls, auto scaling ensures that the table has sufficient throughput to handle incoming requests, effectively preventing throttling errors caused by exceeding provisioned limits.
- ✓
Implement exponential backoff and retry in the application code
Why this is correct
Implementing exponential backoff and retry in the application code is a crucial client-side strategy to gracefully handle transient throttling errors from DynamoDB. When a request is throttled, the application waits for an increasing duration before retrying, spreading the load over time and reducing the immediate request rate. This approach prevents a flood of immediate retries from exacerbating the throttling issue, allowing the table's capacity to recover.
- ✗
Use a global secondary index with a different partition key
Why it's wrong here
While a Global Secondary Index (GSI) allows for querying data using different attributes as a partition key, it operates with its own independent provisioned throughput capacity, separate from the base table. Using a GSI does not prevent throttling on the *base table* itself; if the primary table's access patterns exceed its provisioned RCUs or WCUs, it will still be throttled, irrespective of any GSIs.
- ✗
Use strongly consistent reads for all queries
Why it's wrong here
Using strongly consistent reads for all queries is counterproductive for preventing throttling, as they consume twice the read capacity units (RCUs) compared to eventually consistent reads for the same amount of data. This increased RCU consumption means that the table will hit its provisioned throughput limits much faster, thereby *increasing* the likelihood and frequency of throttling errors rather than mitigating them.
- ✓
Enable DynamoDB Accelerator (DAX) for caching
Why this is correct
Enabling DynamoDB Accelerator (DAX) provides an in-memory cache that sits in front of your DynamoDB tables, significantly reducing the read load on the underlying database. DAX intercepts read requests, serving cached data with microsecond response times whenever possible, which drastically decreases the number of requests that actually reach the DynamoDB table. This reduction in direct table reads effectively lowers the required read capacity, making throttling less likely.
Quick reference
Cloud Service Model Comparison
| Model | You Manage | Provider Manages | Examples |
|---|---|---|---|
| IaaS | OS, runtime, apps, data | Hardware, hypervisor, networking | EC2, Azure VMs, GCP Compute Engine |
| PaaS | Apps and data | OS, runtime, middleware, hardware | Elastic Beanstalk, Azure App Service |
| SaaS | Data and settings only | Everything else | Microsoft 365, Salesforce, Workday |
| FaaS / Serverless | Function code only | Infra, scaling, runtime | Lambda, Azure Functions, Cloud Run |
| CaaS | Containers and apps | Kubernetes, OS, hardware | EKS, AKS, GKE |
Go deeper
Related to this question
About these practice questions
This DVA-C02 question is part of Courseiva's 1,135-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This DVA-C02 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 DVA-C02 exam.