- A
Migrate the table to Amazon Aurora PostgreSQL with a secondary index on account_id and transaction_timestamp.
Why wrong: Migrating to a relational database is a significant change and may not be necessary.
- B
Create a Global Secondary Index (GSI) with account_id as partition key and transaction_timestamp as sort key, and query the GSI with ScanIndexForward set to false.
A GSI with the desired sort key allows efficient descending queries.
- C
Enable DynamoDB Accelerator (DAX) to cache query results.
Why wrong: DAX caches results but does not improve the efficiency of the initial query; it also adds latency for cache misses.
- D
Increase the provisioned read capacity to 20,000 RCUs to handle the load.
Why wrong: The issue is not capacity; consumed RCUs are at 60%, so more capacity won't reduce latency.
DynamoDB GSI for Recent Item Queries
This DBS-C01 practice question tests your understanding of workload-specific database design. The scenario asks you to isolate a root cause — eliminate options that address a different problem before choosing. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.
A company runs a financial analytics platform on Amazon DynamoDB. The table stores transaction records with a partition key of account_id and a sort key of transaction_timestamp. Each account has thousands of transactions. The application frequently queries the most recent transactions for a given account_id, sorted by timestamp in descending order. Recently, as the number of accounts grew, the query latency increased significantly. The DynamoDB table has provisioned read capacity of 10,000 RCUs, and CloudWatch metrics show that consumed read capacity is at 60%. The database specialist suspects that the issue is due to the query pattern. Which action should the database specialist take to reduce query latency?
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) with account_id as partition key and transaction_timestamp as sort key, and query the GSI with ScanIndexForward set to false.
Option B is correct because creating a Global Secondary Index (GSI) with account_id as the partition key and transaction_timestamp as the sort key allows the application to query the most recent transactions for a given account_id efficiently. By setting ScanIndexForward to false in the query, DynamoDB returns items in descending order by sort key, which directly matches the query pattern. This avoids the need to scan all transactions for an account and then sort them, significantly reducing latency. The existing table's sort key is transaction_timestamp, but the query pattern requires descending order; the GSI provides an optimized access path without changing the base table structure.
Key principle: Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Migrate the table to Amazon Aurora PostgreSQL with a secondary index on account_id and transaction_timestamp.
Why it's wrong here
Migrating to a relational database is a significant change and may not be necessary.
- ✓
Create a Global Secondary Index (GSI) with account_id as partition key and transaction_timestamp as sort key, and query the GSI with ScanIndexForward set to false.
Why this is correct
A GSI with the desired sort key allows efficient descending queries.
Related concept
Read the scenario before looking for a memorised answer.
- ✗
Enable DynamoDB Accelerator (DAX) to cache query results.
Why it's wrong here
DAX caches results but does not improve the efficiency of the initial query; it also adds latency for cache misses.
- ✗
Increase the provisioned read capacity to 20,000 RCUs to handle the load.
Why it's wrong here
The issue is not capacity; consumed RCUs are at 60%, so more capacity won't reduce latency.
Common exam traps
Common exam trap: answer the scenario, not the keyword
The trap here is that candidates may think increasing RCUs or adding caching (DAX) will solve latency issues, but the real problem is the inefficient query pattern that requires scanning and sorting all items for an account, which a properly designed GSI with ScanIndexForward=false directly addresses.
Detailed technical explanation
How to think about this question
When querying a DynamoDB table with a partition key and sort key, the ScanIndexForward parameter controls the order of results; setting it to false returns items in descending sort key order. However, if the base table's sort key is not the timestamp, or if the query pattern requires a different sort order, a GSI with the desired partition and sort key allows efficient retrieval without scanning all items. Under the hood, DynamoDB stores items in sorted order by partition key and sort key within each partition; a GSI replicates data with its own partition and sort key, enabling targeted queries that avoid full partition scans. In this scenario, the base table's sort key is transaction_timestamp, but the query pattern requires descending order; the GSI with the same sort key but queried with ScanIndexForward=false directly returns the most recent transactions without additional sorting.
KKey Concepts to Remember
- Read the scenario before looking for a memorised answer.
- Find the constraint that changes the correct option.
- Eliminate answers that are true in general but not in this case.
TExam Day Tips
- Watch for words such as best, first, most likely and least administrative effort.
- Review why wrong options are wrong, not only why the correct option is correct.
Key takeaway
Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
Real-world example
How this comes up in practice
A company's IT admin needs to give a contractor read-only access to production logs without sharing account credentials. Using role-based access control (RBAC) and temporary scoped permissions — not a permanent shared password — is the correct pattern. Questions like this test whether you can apply least-privilege access across cloud identity services.
What to study next
Got this wrong? Here's your next step.
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
- →
Workload-Specific Database Design — study guide chapter
Learn the concepts, then practise the questions
- →
Workload-Specific Database Design practice questions
Targeted practice on this topic area only
- →
All DBS-C01 questions
1,730 questions across all exam domains
- →
AWS Certified Database Specialty DBS-C01 study guide
Full concept coverage aligned to exam objectives
- →
DBS-C01 practice test guide
How to use practice tests most effectively before exam day
Related practice questions
Related DBS-C01 practice-question pages
Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.
Workload-Specific Database Design practice questions
Practise DBS-C01 questions linked to Workload-Specific Database Design.
Deployment and Migration practice questions
Practise DBS-C01 questions linked to Deployment and Migration.
Management and Operations practice questions
Practise DBS-C01 questions linked to Management and Operations.
Monitoring and Troubleshooting practice questions
Practise DBS-C01 questions linked to Monitoring and Troubleshooting.
Database Security practice questions
Practise DBS-C01 questions linked to Database Security.
DBS-C01 fundamentals practice questions
Practise DBS-C01 questions linked to DBS-C01 fundamentals.
DBS-C01 scenario practice questions
Practise DBS-C01 questions linked to DBS-C01 scenario.
DBS-C01 troubleshooting practice questions
Practise DBS-C01 questions linked to DBS-C01 troubleshooting.
Practice this exam
Start a free DBS-C01 practice session
Short sessions build daily habit. Longer sessions build exam-day stamina. Try a timed session to simulate real conditions.
FAQ
Questions learners often ask
What does this DBS-C01 question test?
Workload-Specific Database Design — This question tests Workload-Specific Database Design — Read the scenario before looking for a memorised answer..
What is the correct answer to this question?
The correct answer is: Create a Global Secondary Index (GSI) with account_id as partition key and transaction_timestamp as sort key, and query the GSI with ScanIndexForward set to false. — Option B is correct because creating a Global Secondary Index (GSI) with account_id as the partition key and transaction_timestamp as the sort key allows the application to query the most recent transactions for a given account_id efficiently. By setting ScanIndexForward to false in the query, DynamoDB returns items in descending order by sort key, which directly matches the query pattern. This avoids the need to scan all transactions for an account and then sort them, significantly reducing latency. The existing table's sort key is transaction_timestamp, but the query pattern requires descending order; the GSI provides an optimized access path without changing the base table structure.
What should I do if I get this DBS-C01 question wrong?
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
What is the key concept behind this question?
Read the scenario before looking for a memorised answer.
About these practice questions
Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →
Same concept, more angles
2 more ways this is tested on DBS-C01
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. A social media analytics company uses Amazon DynamoDB as the primary data store for user session data. Each session record has a partition key of user_id (String) and a sort key of session_start_time (Number, epoch). The application often queries the most recent 10 sessions for a given user. The traffic pattern shows that 90% of reads are for the last 10 sessions, while 10% are for historical sessions. The table has a provisioned read capacity of 5000 RCU and consistently experiences throttled read requests during peak hours. The company wants to optimize read performance without changing the provisioned capacity. Which design change will MOST improve read performance for this workload?
hard- ✓ A.Create a Global Secondary Index (GSI) with the same partition key and a sort key of session_start_time, but query with ScanIndexForward=false and Limit=10.
- B.Increase the provisioned read capacity to 10000 RCU to handle the peak load.
- C.Enable DynamoDB Accelerator (DAX) with default settings to cache the most recent sessions.
- D.Configure Amazon ElastiCache for Redis as a read-through cache for session data.
Why A: Option A is correct because creating a GSI with the same partition key (user_id) and sort key (session_start_time) allows you to query with ScanIndexForward=false and Limit=10 to efficiently retrieve only the most recent 10 sessions per user. This avoids scanning all sessions for a user, reducing consumed read capacity and eliminating throttling without increasing provisioned RCU. The GSI also supports the 90% workload pattern by providing a targeted index that minimizes read unit consumption.
Variation 2. A company uses Amazon DynamoDB for a real-time analytics platform. The table has a partition key of 'customer_id' and a sort key of 'event_timestamp'. The table receives 50,000 write requests per second, evenly distributed across 10,000 customers. The application frequently queries the last 10 events for a given customer. The company notices that some queries are throttled during peak hours. The table's write capacity is set to 50,000 WCUs, and read capacity to 10,000 RCUs. The throttled queries are read requests. What is the most likely cause of the throttling, and what should be done to resolve it?
hard- A.Increase the write capacity units to handle the write load.
- B.Increase the read capacity units to 20,000 RCUs.
- ✓ C.Optimize the query by using Query with KeyConditionExpression on the sort key and Limit=10.
- D.Add a global secondary index with the same keys to distribute read load.
Why C: The throttling occurs because the application uses Scan or an inefficient query pattern that consumes excessive read capacity. Using Query with KeyConditionExpression on the sort key and Limit=10 retrieves only the last 10 events per customer efficiently, reducing read consumption and avoiding throttling without increasing RCUs.
Keep practising
More DBS-C01 practice questions
- A company is deploying a new application on Amazon RDS for PostgreSQL. The security policy requires that all data be enc…
- Match each AWS service to its primary purpose.
- A financial services company runs a production Amazon Aurora MySQL database cluster (1 writer, 2 readers) in us-east-1.…
- A company is designing a database for a global e-commerce platform that requires low-latency reads and writes from multi…
- A security auditor reviews the output of a DynamoDB table description command as shown in the exhibit. Which statement a…
- A company is migrating an on-premises Oracle database to Amazon RDS for Oracle. The database contains sensitive data tha…
Last reviewed: Jun 24, 2026
This DBS-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 DBS-C01 exam.
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
Sign in to join the discussion.