Courseiva

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

A company stores customer data in Azure Table Storage. They need to query by a combination of partition key (customer region) and row key (customer ID). Which query pattern is most efficient?

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

Query using both PartitionKey and RowKey

Table Storage is optimized for point queries using both PartitionKey and RowKey. Using both keys allows direct access to the entity without scanning. Filtering only by RowKey across partitions results in a full table scan. Using only PartitionKey retrieves all rows in that partition, which is less efficient. Scanning all entities is the worst.

Answer analysis

Option-by-option breakdown

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

  • Query using RowKey only

    Why it's wrong here

    Querying by RowKey alone is insufficient because RowKey is only unique within a partition, not across the entire table. Without a PartitionKey, Azure Table Storage cannot perform a point query and must scan every partition, merging results from all partitions. This cross-partition scan is significantly slower and consumes more request units and network bandwidth than a targeted lookup, making it an inefficient pattern for retrieving a specific entity.

  • Scan all entities

    Why it's wrong here

    Scanning all entities is the most inefficient retrieval method because it reads every entity in the table, bypassing the partition/row key indexing mechanism entirely. This approach incurs maximum latency and throughput costs, and it scales poorly as the table grows. It should be reserved only for rare administrative tasks or very small tables, never for routine access to a single entity.

  • Query using both PartitionKey and RowKey

    Why this is correct

    Querying with both PartitionKey and RowKey forms a point query that uniquely identifies a single entity, since their combination is the primary key of the table. The PartitionKey narrows the search to a specific partition, and the RowKey directly locates the entity within that partition's index. This is the most efficient, lowest-latency, and least costly operation Azure Table Storage supports for data retrieval.

  • Query using PartitionKey only

    Why it's wrong here

    Querying by PartitionKey only returns every entity in the specified partition, not just the desired one. While this avoids a full table scan, it still requires enumerating and potentially filtering through potentially thousands of entities, which can be expensive. Because RowKey is not included, the result set is not guaranteed to be a single item, so additional client-side or query filtering is needed.

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.