Courseiva
Data Store Management →mediumMultiple Choice

DEA-C01 Data Store Management Practice Question

A company stores customer transaction data in an Amazon DynamoDB table. The table has a partition key of CustomerID and a sort key of TransactionDate. The data engineering team needs to retrieve all transactions for a specific customer within a date range, and the queries must be efficient. Which DynamoDB operation should the team use?

⚠ Common exam trap

It's easy for candidates to confuse Query with Scan or GetItem; Query is the only operation that efficiently retrieves a range of items based on the sort key.

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

✓

Query the table with a KeyConditionExpression on CustomerID and a condition on TransactionDate.

The Query operation is designed to retrieve items sharing the same partition key value, with optional conditions on the sort key. By specifying CustomerID and a condition on TransactionDate, the team can efficiently fetch the desired transactions. Other operations either scan the entire table or retrieve single items, which are less efficient for this use case.

Answer analysis

Option-by-option breakdown

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

  • ✗

    Scan the table with a FilterExpression on CustomerID and TransactionDate.

    Why it's wrong here

    A Scan operation reads every item in the table and then applies the filter, which consumes a large amount of read capacity and is inefficient for large tables. It does not leverage the primary key for efficient retrieval. This approach would result in high latency and cost, especially as the table grows.

  • ✗

    Use a BatchGetItem request with multiple CustomerID and TransactionDate pairs.

    Why it's wrong here

    BatchGetItem retrieves multiple items by their primary keys, but it requires specifying each item's full key. It is not designed for range queries on the sort key. To retrieve a date range, you would need to know all the exact TransactionDate values in advance, which is impractical.

  • ✓

    Query the table with a KeyConditionExpression on CustomerID and a condition on TransactionDate.

    Why this is correct

    A Query operation retrieves items based on the primary key. By specifying the partition key value and a condition on the sort key, DynamoDB can efficiently locate the relevant items without scanning the entire table. This is the most efficient way to retrieve a range of transactions for a specific customer.

  • ✗

    Use a GetItem request with the CustomerID and TransactionDate as the primary key.

    Why it's wrong here

    GetItem retrieves a single item by its full primary key. Since the requirement is to retrieve multiple transactions within a date range, GetItem would only return one item per call. It cannot efficiently retrieve a range of items, making it unsuitable for this scenario.

About these practice questions

This DEA-C01 question is part of Courseiva's 1,321-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 →

How Courseiva writes practice questions · Editorial policy

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 DEA-C01 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 DEA-C01 exam.