Describe considerations for working with non-relational data on Azure →hardMultiple ChoiceObjective-mapped
DP-900 Practice Question: Describe considerations for working with non-relational data on Azure
A gaming application requires a high-performance leaderboard that stores player scores and retrieves the top 10 scores quickly. The data does not require complex queries or a fixed schema. The leaderboard must support updates as new scores are submitted. Which Azure data store is most appropriate for this scenario?
⚠ Common exam trap
It's easy for candidates to choose Azure Cosmos DB (Option A) because they associate it with high performance and NoSQL, but they overlook that Azure Cache for Redis is purpose-built for in-memory, sub-millisecond operations like sorted sets, which are exactly what a leaderboard requires.
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
✓
Azure Cache for Redis
Azure Cache for Redis is the most appropriate choice because it provides an in-memory data structure store with native support for sorted sets (via the ZADD and ZRANGE commands), which are ideal for maintaining a real-time leaderboard. It can handle high-throughput score updates and retrieve the top 10 scores in O(log(N)) time, meeting the low-latency and performance requirements without needing a fixed schema.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Azure Cosmos DB with SQL API
Why it's wrong here
Azure Cosmos DB with SQL API is a multi-model, globally distributed NoSQL database that can store leaderboard entries and index them, but it is not purpose-built for real-time ranked set operations. Every read and write consumes Request Units (RUs), and producing a top-N list requires queries that scan or use composite indexes, resulting in higher latency and cost than an in-memory sorted set. While Cosmos DB can technically power a leaderboard, the overhead and sub-millisecond performance gap make it a less efficient choice than a dedicated caching layer.
- ✗
Azure Table storage
Why it's wrong here
Azure Table storage is a schema-less key-value store that organizes data into partitions and rows, allowing fast point reads by partition key and row key. However, it lacks native support for sorted sets or range-based ranking queries; retrieving a leaderboard would require scanning rows and sorting client-side, which is slow and inefficient. It is also disk-backed, so latency is significantly higher than an in-memory cache, making it unsuitable for a high-performance leaderboard that needs constant score updates and instant top-score retrieval.
- ✓
Azure Cache for Redis
Why this is correct
Azure Cache for Redis is the correct choice because Redis natively supports sorted sets, a data structure perfect for leaderboards. Commands like ZADD and ZINCRBY update scores in O(log N) time, and ZREVRANGE retrieves the top scores in O(log N+M), all while data is held in RAM for sub-millisecond latency. This purpose-built in-memory design handles thousands of concurrent player updates and queries per second, making it the standard solution for real-time gaming leaderboards. Although Redis persistence is optional and typically not the primary concern, it can be configured to maintain data across restarts if needed.
- ✗
Azure Blob Storage
Why it's wrong here
Azure Blob storage is designed for storing massive numbers of unstructured binary or text files, such as images, videos, logs, and backups. It provides no built-in query engine, no server-side sorted-set operations, and no in-memory data structures; to update a leaderboard stored as a blob, you would have to rewrite the entire blob with every score change. This leads to exorbitant latency, high cost, and no concurrency control, making it completely unsuitable for a high-performance, real-time leaderboard.
Go deeper
Related to this question
Learn chapter
Data Roles and Core Concepts
Key term
Redis
Redis is an open-source, in-memory data structure store used as a database, cache, and message broker for high-speed data access.
Key term
Data
Data is raw, unprocessed information, like numbers, words, or measurements, that can be stored, processed, and analyzed by computers.
About these practice questions
This DP-900 question is part of Courseiva's 820-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 by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This DP-900 practice question is part of Courseiva's free Microsoft 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 DP-900 exam.