DBS-C01 Workload-Specific Database Design Practice Question
A company is building a real-time leaderboard for a mobile game using Amazon DynamoDB. The leaderboard displays the top 100 players by score. The table has 'game_id' as partition key and 'player_id' as sort key. The score is updated frequently. Which THREE design patterns should the company implement to ensure low-latency reads for the leaderboard? (Choose three.)
⚠ Common exam trap
Test-takers frequently think using ScanIndexForward on the base table (Option A) is sufficient, but they overlook that the base table's sort key is player_id, not score, so it cannot sort by score without a GSI or separate table.
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
✓
Enable DynamoDB Accelerator (DAX) to cache the leaderboard query.
DynamoDB Accelerator (DAX) provides an in-memory cache that can serve repeated leaderboard queries with microsecond latency, reducing the read load on the base table and avoiding throttling. For a real-time leaderboard that is read frequently, DAX ensures low-latency responses without needing to query DynamoDB directly each time.
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 'ScanIndexForward: false' on the base table to get top players.
Why it's wrong here
Base table sort key is 'player_id', not 'score'.
- ✓
Enable DynamoDB Accelerator (DAX) to cache the leaderboard query.
Why this is correct
Caches the query results for low-latency reads.
- ✗
Use 'begins_with' operator on the sort key to filter by score range.
Why it's wrong here
'begins_with' is for string sort keys, not numeric.
- ✓
Create a global secondary index (GSI) with 'game_id' as partition key and 'score' as sort key.
Why this is correct
Allows querying top scores per game efficiently.
- ✓
Use DynamoDB Streams and AWS Lambda to maintain a separate leaderboard table.
Why this is correct
Offloads leaderboard computation to a separate table.
Go deeper
Related to this question
About these practice questions
One of 1,663 original DBS-C01 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 →
Same concept, more angles
1 more way 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 company is building a real-time leaderboard for an online game using Amazon DynamoDB. The leaderboard must update scores within seconds and support queries for top 100 players. Which TWO design patterns should be used? (Choose TWO.)
medium- A.Create a global secondary index on the score attribute for efficient range queries.
- ✓ B.Use DynamoDB Streams to trigger a Lambda function that updates a separate leaderboard table.
- C.Store the leaderboard in Amazon ElastiCache for Redis for low-latency reads.
- ✓ D.Enable DynamoDB Accelerator (DAX) for faster reads of the leaderboard.
- E.Set the sort key to the score attribute for natural ordering.
Why B: DynamoDB Streams can capture score updates in near real-time and trigger a Lambda function to maintain a separate leaderboard table optimized for top-100 queries. This decouples the write-heavy game table from the read-heavy leaderboard, ensuring low-latency updates without contention.
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
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.