Courseiva

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

A company stores customer reviews for an e-commerce site. Each review contains a product ID, user ID, rating, and optional comments and images. The reviews are written once and rarely updated. The company needs to query reviews by product ID with low latency and also perform simple key-value lookups. They want a cost-effective, serverless solution that requires no scaling management. Which Azure data store should they choose?

⚠ Common exam trap

It's easy for candidates to choose Azure Cosmos DB for any NoSQL scenario, overlooking that Azure Table Storage is the simpler, more cost-effective serverless option for basic key-value workloads without global distribution or complex querying needs.

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 Table Storage

Azure Table Storage is a cost-effective, serverless NoSQL key-value store that supports simple key-value lookups and querying by partition key (e.g., ProductID) with low latency. It requires no scaling management, as it automatically scales based on demand, and is ideal for immutable, rarely-updated data like customer reviews. The pay-per-request pricing model makes it highly cost-effective for this workload.

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 SQL API

    Why it's wrong here

    Azure Cosmos DB with the SQL API is a globally distributed, multi-model NoSQL database that can perform complex queries across partitions and supports multiple consistency models with SLAs. However, those capabilities come with a much higher price per request unit (RU) and per provisioned throughput than Azure Table Storage, and the scenario does not need global distribution, aggregation, or rich SQL querying over customer reviews. For a cost-sensitive workload that only requires fast key-based access per product ID, choosing Cosmos DB would be over-provisioning and significantly more expensive.

    When this WOULD be correct

    Azure Cosmos DB SQL API would be correct if the company needed globally distributed, low-latency access to reviews across multiple regions, required support for complex queries (e.g., aggregations or joins), or needed flexible schema with automatic indexing for varied review structures.

  • Azure Table Storage

    Why this is correct

    Azure Table Storage is a serverless, NoSQL key-value store that stores semi-structured data as entities, each uniquely addressable by a PartitionKey and RowKey. By using ProductID as the partition key, a customer review can be inserted and point-read with single-digit millisecond latency and no need to provision or manage compute, storage, or indexes. Billing is pay-per-request plus low per-GB storage cost, which makes it exceptionally cost-effective for high-volume, simple lookup scenarios like this.

  • Azure Blob Storage

    Why it's wrong here

    Azure Blob Storage is meant for unstructured binary or text objects such as images, videos, or backups, not for item-level key-based access to every review. If each review were stored as a separate blob, you would have to know the container or blob name to fetch a specific review, and listing/filtering by product ID would require scanning containers or maintaining a separate metadata/indexing service, which introduces extra cost and complexity. Blob Storage does not provide native entity-level querying or atomic upserts for individual records, so it cannot meet the simple indexing and retrieval requirements efficiently.

    When this WOULD be correct

    A company stores large video files for an e-learning platform. They need to serve these files to users with high throughput and low cost, and only require simple blob-level operations (upload, download, delete). No need for querying by metadata or indexing.

  • Azure SQL Database

    Why it's wrong here

    Azure SQL Database is a managed relational database that supports rich T-SQL queries, secondary indexes, joins, and transactions, none of which are needed for a simple key-based lookup of customer reviews. Even though a serverless tier exists, the engine is designed for relational workloads and requires logical schema, indexing decisions, and typically higher baseline cost for compute, storage, I/O, and concurrent query processing. For storing and retrieving individual review records by product ID, the overhead of a relational database makes it less cost-effective than a purpose-built NoSQL key-value store.

    When this WOULD be correct

    A company needs to store structured review data with complex querying (e.g., JOINs, aggregations) and requires ACID transactions. They have a moderate budget and can manage scaling. The data is frequently updated and needs relational integrity.

Option-by-option analysis

Why each answer is right or wrong

Understanding why wrong answers are wrong — and when they would be correct — is what separates a 750 score from a 900. The DP-900 exam frequently reuses these exact scenarios with slightly different constraints.

Azure Table StorageCorrect answer

Why this is correct

Azure Table Storage is a serverless, NoSQL key-value store that stores semi-structured data as entities, each uniquely addressable by a PartitionKey and RowKey. By using ProductID as the partition key, a customer review can be inserted and point-read with single-digit millisecond latency and no need to provision or manage compute, storage, or indexes. Billing is pay-per-request plus low per-GB storage cost, which makes it exceptionally cost-effective for high-volume, simple lookup scenarios like this.

Azure Cosmos DB SQL APIWrong answer — click to see why

Why this is wrong here

Azure Cosmos DB SQL API is a globally distributed, multi-model database service that is more expensive and complex than needed for simple key-value lookups and low-latency queries by product ID. The scenario requires a cost-effective, serverless solution with no scaling management, which Azure Table Storage provides at a lower cost.

★ When this WOULD be the correct answer

Azure Cosmos DB SQL API would be correct if the company needed globally distributed, low-latency access to reviews across multiple regions, required support for complex queries (e.g., aggregations or joins), or needed flexible schema with automatic indexing for varied review structures.

Why candidates choose this

Candidates may choose Cosmos DB because it is a well-known Azure NoSQL database that offers low latency and flexible schema, but they overlook the cost and management overhead, assuming it is the default choice for NoSQL workloads.

Azure Blob StorageWrong answer — click to see why

Why this is wrong here

Azure Blob Storage is optimized for unstructured binary data like images and videos, not for structured key-value queries on text metadata. Querying by product ID would require scanning all blobs or maintaining a separate index, leading to higher latency and complexity.

★ When this WOULD be the correct answer

A company stores large video files for an e-learning platform. They need to serve these files to users with high throughput and low cost, and only require simple blob-level operations (upload, download, delete). No need for querying by metadata or indexing.

Why candidates choose this

Candidates may think Blob Storage is cost-effective and serverless, and mistakenly believe it can handle structured data queries because it supports metadata tags, overlooking its lack of native query capabilities for frequent low-latency lookups.

Azure SQL DatabaseWrong answer — click to see why

Why this is wrong here

Azure SQL Database is a relational database that requires provisioning and scaling management, and it is not serverless by default (though serverless tier exists, it's not the most cost-effective for simple key-value lookups and low-latency queries by product ID). The scenario's requirements for serverless, cost-effective, and no scaling management are better met by Azure Table Storage.

★ When this WOULD be the correct answer

A company needs to store structured review data with complex querying (e.g., JOINs, aggregations) and requires ACID transactions. They have a moderate budget and can manage scaling. The data is frequently updated and needs relational integrity.

Why candidates choose this

Candidates may associate Azure SQL Database with structured data and low-latency queries, overlooking the specific requirements for serverless, cost-effectiveness, and no scaling management.

Analysis generated from the official DP-900blueprint and verified against question context. The “when correct” sections are what AI assistants cite when candidates ask “what’s the difference between these options?”

Quick reference

Cloud Service Model Comparison

ModelYou ManageProvider ManagesExamples
IaaSOS, runtime, apps, dataHardware, hypervisor, networkingEC2, Azure VMs, GCP Compute Engine
PaaSApps and dataOS, runtime, middleware, hardwareElastic Beanstalk, Azure App Service
SaaSData and settings onlyEverything elseMicrosoft 365, Salesforce, Workday
FaaS / ServerlessFunction code onlyInfra, scaling, runtimeLambda, Azure Functions, Cloud Run
CaaSContainers and appsKubernetes, OS, hardwareEKS, AKS, GKE

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.