Courseiva

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.

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 →

How Courseiva writes practice questions · Editorial policy

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.