Describe considerations for working with non-relational data on Azure →mediumMultiple ChoiceObjective-mapped
DP-900 Practice Question: Describe considerations for working with non-relational data on Azure
A mobile game stores player achievements in Azure Cosmos DB. Each player has a PlayerID, and achievements are stored as JSON documents with varying fields. The most common query retrieves all achievements for a specific player. To ensure low latency and efficient throughput, which property should be chosen as the partition key?
⚠ Common exam trap
Watch out — candidates often choose a high-cardinality key like Timestamp without considering the query pattern, mistakenly thinking any unique value is good, but the partition key must align with the most frequent query filter to avoid cross-partition 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
✓
PlayerID
PlayerID is the correct partition key because the most common query retrieves all achievements for a specific player, and partitioning on PlayerID ensures that all documents for a given player are stored in the same physical partition. This allows the query to target a single partition, minimizing cross-partition queries and providing low latency and efficient throughput.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
PlayerID
Why this is correct
PlayerID is the ideal partition key because it is the most commonly used query filter in a mobile game's achievement data access patterns. Each player has many achievements, but a single PlayerID value corresponds to a manageable logical partition, and the high cardinality of player IDs means requests spread evenly across physical partitions. Queries such as 'get all achievements for a player' become efficient single-partition operations, avoiding cross-partition fan-out and hot spots.
- ✗
Timestamp
Why it's wrong here
Timestamp is a poor partition key because player achievements are frequently created in bursts, so many documents share the same second or minute, causing a hot partition when that time period is written or queried. It also does not align with the primary access pattern, because users typically request achievements by player identity rather than by time. Additionally, date-based keys like this can lead to unbounded logical partition growth, making them unsuitable for even throughput distribution.
- ✗
AchievementType
Why it's wrong here
AchievementType has very low cardinality—a game might have only dozens or hundreds of achievement types—so it yields few logical partitions, and a popular type like 'first_day_login' would dominate traffic to a single physical partition. Reads or writes that filter by AchievementType would therefore experience throttling and uneven Request Unit (RU) consumption. It fails the core requirement that a partition key should produce many distinct values with roughly equal request frequency.
- ✗
Region
Why it's wrong here
Region is a poor partition key because there are typically only a few regions and player concentrations can be highly skewed, so a single region's partition can become a hot spot while others remain idle. It does not match the primary query pattern—players access their own achievements regardless of region—so filtering by Region would rarely narrow a query to one logical partition. Moreover, Cosmos DB's global distribution replicates every partition to every read region, so using Region as a partition key adds no geo-location benefit while harming distribution.
Go deeper
Related to this question
Learn chapter
Azure SQL Services
Key term
Partition key
A partition key is a value used by database systems to distribute data across multiple storage partitions, enabling faster queries and efficient scaling.
Key term
Azure Cosmos DB
Azure Cosmos DB is a fully managed, globally distributed NoSQL database service that offers fast reads and writes anywhere in the world with automatic scaling and multiple consistency models.
About these practice questions
One of 820 original DP-900 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 →
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.