Courseiva

DP-900 Practice Question: Describe considerations for working with non-relational data on Azure

Your application uses Azure Table storage to store user preferences. You need to retrieve all preferences for a specific user quickly. Which key should you use as the partition key?

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

UserID

Using UserID as the partition key ensures that all preferences for a specific user are stored in the same partition, enabling fast and efficient point queries. Region, Random GUID, and Timestamp would scatter user data across multiple partitions, slowing down retrieval.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Region

    Why it's wrong here

    Region is a broad attribute shared by many users, so it does not uniquely identify an individual. If used as the partition key, all users in a single region would land in the same partition, potentially creating a hot partition when traffic concentrates there. Because a user's region can change or a user can have preferences recorded from different regions, their preferences would be scattered across multiple partitions, forcing slow cross-partition queries.

  • Random GUID

    Why it's wrong here

    A random GUID gives every entity its own unique partition key, which maximises write distribution but completely destroys logical grouping. Since all preferences for one user would carry different GUIDs, retrieving a user's full set of preferences would require querying every partition in the table, a costly full scan. It also prevents the use of entity group transactions, because each entity would reside in a different partition, and it creates an unnecessarily high number of small partitions.

  • UserID

    Why this is correct

    UserID is the natural partition key because it groups every preference row for a single user into the same partition, allowing their data to be retrieved with a fast, single-partition query. This design also enables entity group transactions, so multiple preference updates for a user can be applied atomically. Since each user forms a distinct, evenly distributed partition when user IDs are varied, it avoids hot partitions while matching the application's primary access pattern.

  • Timestamp

    Why it's wrong here

    Timestamp is a continuous, ever-changing value with poor logical grouping; many users' preferences share identical timestamps, while one user's own preferences typically span many different times. Using it as a partition key would scatter a single user's data across numerous partitions, making a profile retrieval an expensive cross-partition query. Worse, the partition key is immutable in Azure Table storage, but a timestamp changes on every update, so an entity's partition key would need to change whenever it is modified, which is not allowed.

About these practice questions

Courseiva writes every DP-900 question from scratch — 820 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. 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.