Courseiva

DVA-C02 Development with AWS Services Practice Question

A developer is working on a serverless application that uses Amazon DynamoDB as the database. The application reads and writes data to a DynamoDB table named 'Orders'. The table has a partition key 'OrderID' and a sort key 'OrderDate'. The application experiences high read latency during peak hours. The developer checks the CloudWatch metrics and notices high ReadThrottleEvents for the table. The table's read capacity is set to on-demand mode. The developer also notices that the application performs many queries that scan the entire table to find orders by customer ID, which is not a key attribute. What should the developer do to reduce read 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

✓

Create a Global Secondary Index (GSI) on the CustomerID attribute and query the index instead of scanning the table.

The correct option is C: create a Global Secondary Index (GSI) on the CustomerID attribute and query the index instead of scanning the table. The application's high ReadThrottleEvents stem from full-table Scan operations to find orders by a non-key attribute, and a GSI with CustomerID as its partition key lets those lookups use efficient Query operations that read only the matching items, drastically reducing consumed read capacity. Because the table is in on-demand mode, throttling is caused by the sheer volume of scanned data rather than a fixed capacity ceiling, so the GSI directly addresses the root cause. Option A (DAX) only caches reads and does not fix the inefficient Scan access pattern, and it cannot help with the underlying non-key lookup design. Option B is unnecessary because on-demand mode already scales automatically, and switching to provisioned capacity does not eliminate the wasteful Scans. Option D is invalid because on-demand tables have no user-configurable maximum read capacity limit to increase.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✗

    Enable DynamoDB Accelerator (DAX) to cache the read results.

    Why it's wrong here

    DAX caches item reads by primary key, so it cannot serve queries that scan the table for a non-key attribute such as customer ID. It is tempting because DAX reduces read latency for key-based access; however, the throttling arises from scan operations, which bypass the cache entirely.

  • ✗

    Switch the table to provisioned capacity mode and increase the read capacity units.

    Why it's wrong here

    Provisioned mode with higher RCUs still executes full-table scans, consuming capacity proportional to table size rather than returning only matching orders. It is tempting because raising capacity appears to address throttling directly; however, the scans themselves are the load, so a secondary index on customer ID is required.

  • ✓

    Create a Global Secondary Index (GSI) on the CustomerID attribute and query the index instead of scanning the table.

    Why this is correct

    Scanning the whole table consumes read capacity on every partition, driving ReadThrottleEvents even in on-demand mode. A Global Secondary Index keyed on CustomerID lets queries target only the relevant items, replacing full scans with efficient index lookups and cutting consumed read capacity.

  • ✗

    Keep the table in on-demand mode but increase the maximum read capacity limit.

    Why it's wrong here

    On-demand tables have no maximum read capacity limit to raise; throughput scales automatically with traffic, so this setting does not exist. It is tempting because on-demand mode is the correct capacity model here, but the throttling stems from full-table scans, which require a secondary index instead.

Quick reference

Cloud Service Model Comparison

ModelYou ManageProvider ManagesExamples
IaaSOS, runtime, apps, dataHardware, hypervisor, networkingEC2, Azure VMs, GCP Compute Engine
PaaSApps and dataOS, runtime, middleware, hardwareElastic Beanstalk, Azure App Service
SaaSData and settings onlyEverything elseMicrosoft 365, Salesforce, Workday
FaaS / ServerlessFunction code onlyInfra, scaling, runtimeLambda, Azure Functions, Cloud Run
CaaSContainers and appsKubernetes, OS, hardwareEKS, AKS, GKE

About these practice questions

One of 1,135 original DVA-C02 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

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.