DEA-C01 Data Store Management Practice Question
A data engineer is managing an Amazon DynamoDB table that stores user session data. The table has a partition key of user_id and a sort key of session_start_time. The engineer needs to retrieve all sessions for a specific user that started within the last 30 days. Which operation should the engineer use to achieve the lowest latency?
⚠ Common exam trap
The trap here is thinking that a GSI is needed for efficient queries, but the base table already has the right key schema, so a GSI would add unnecessary overhead.
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
✓
Use the Query operation with the partition key set to the user_id and a condition on the sort key to filter sessions from the last 30 days.
The Query operation is designed to retrieve multiple items with the same partition key and can filter on the sort key. Since the table's schema matches the access pattern, querying the base table with a sort key condition yields the lowest latency and consumes minimal read capacity. Other operations either scan the entire table or are not suited for range retrievals.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Use the Scan operation with a filter expression on user_id and session_start_time.
Why it's wrong here
A Scan operation reads every item in the table and then applies the filter, which consumes significant read capacity and increases latency. For a table with many users and sessions, this is inefficient. The requirement is to achieve the lowest latency, so Scan is not appropriate when a Query can target the specific partition.
- ✗
Use the GetItem operation with the user_id and a session_start_time range.
Why it's wrong here
GetItem retrieves a single item by its primary key (partition key and sort key). It cannot retrieve a range of items. To get multiple sessions within a time range, Query is the correct operation. GetItem would require knowing the exact sort key value for each session, which is not practical.
- ✓
Use the Query operation with the partition key set to the user_id and a condition on the sort key to filter sessions from the last 30 days.
Why this is correct
The Query operation retrieves items with a specific partition key and can apply a condition on the sort key. Since the table's sort key is session_start_time, the engineer can query for a specific user_id and use a condition like session_start_time >= <30 days ago>. This efficiently retrieves only the relevant items and provides low latency by avoiding a full table scan.
- ✗
Create a global secondary index (GSI) on user_id and session_start_time, then query the index.
Why it's wrong here
The base table already has a partition key of user_id and sort key of session_start_time, which supports efficient queries. Creating a GSI would duplicate data and add cost, and it would not provide better performance than querying the base table directly. The GSI is unnecessary for this access pattern.
Go deeper
Related to this question
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 →
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.