Courseiva

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

A logistics company tracks shipments. For each shipment, metadata (ID, weight, destination) is stored in a relational table. The route history is a sequence of events (timestamp, location, status) that is frequently appended but never updated or deleted. The application needs to quickly retrieve the latest status of a shipment and occasionally run analytical queries over the full route history. The company wants to minimize storage cost and use Azure services. Which Azure data store should they choose for the route history?

⚠ Common exam trap

Many candidates choose Azure Cosmos DB or Azure SQL Database because they associate 'fast retrieval' with transactional databases, overlooking that append blobs provide both low-cost storage and efficient last-block retrieval for append-only event sequences.

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 Blob Storage with append blobs

Azure Blob Storage with append blobs is the correct choice because route history is write-once, read-many (WORM) data that is frequently appended but never modified or deleted. Append blobs are optimized for sequential append operations, offering low-cost storage for large volumes of event data, and they support fast retrieval of the latest status by reading the last block. This minimizes storage cost while allowing occasional analytical queries over the full history via Azure Synapse or other analytics services.

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 Core (SQL) API

    Why it's wrong here

    Azure Cosmos DB Core (SQL) API can store JSON events, but it is designed for multi-region, low-latency transactional reads/writes and charges request units (RUs) per operation, making it significantly more expensive than blob storage for high-volume, append-heavy immutable data. It has no append-optimized feature; each new event is an upsert that consumes RU/s even for writes, and storing a full shipment history would exacerbate cost without giving you log-analysis capabilities. For cost-efficient, unfiltered append streams, blob storage is superior.

    When this WOULD be correct

    If the application required sub-millisecond reads of the latest route history, global distribution, or needed to query individual events with low latency and a flexible schema, Cosmos DB Core (SQL) API would be the correct choice.

  • Azure Table Storage

    Why it's wrong here

    Azure Table Storage is a schemaless key-value store, not an append-friendly log store. Each shipment event would need to be inserted as a separate entity, and to rebuild the full route history you would have to perform multiple point queries or a partition scan across many entities, which is inefficient and lacks any ordering guarantee. Table Storage does not have an append-only mode or native support for immutable event sequences, so it is the wrong fit for a high-frequency, log-style workload.

    When this WOULD be correct

    An exam scenario where the requirement is to store large amounts of structured, non-relational data (e.g., device telemetry, user preferences) with low latency point queries by partition key and row key, and where data is rarely updated or deleted, but append operations are not the primary pattern. For example, storing IoT sensor readings where each reading is a separate entity and queries are by device ID and timestamp.

  • Azure Blob Storage with append blobs

    Why this is correct

    Append blobs are an Azure Blob Storage variant purpose-built for high-frequency append operations: each append writes a new block at the end without modifying existing data, making them ideal for shipment tracking logs. They provide low-cost, immutable storage, and using Azure Data Lake Storage Gen2 or serverless SQL, you can run queries over the entire blob to reconstruct the full route history. Unlike the other options, append blobs give you native append semantics, no per-event write cost beyond storage, and direct integration with analytics tools.

  • Azure SQL Database with a JSON column

    Why it's wrong here

    Azure SQL Database with a JSON column imposes relational storage overhead on a workload that is essentially write-only and append-only: every event insert triggers transaction log writes, index maintenance, and page allocations, which is far costlier at high event rates. Querying the JSON column for full history also requires the JSON functions, but the core issue is that SQL Database is not optimized for immutable log ingestion and does not provide an append-only object pattern. This route would over-engineer a simple tracking feed and inflate both write capacity and storage costs.

    When this WOULD be correct

    This option would be correct if the route history required complex relational queries (e.g., joining with shipment metadata), needed transactional consistency, and the append volume was low enough to justify the cost of a relational database.

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 Blob Storage with append blobsCorrect answer

Why this is correct

Append blobs are an Azure Blob Storage variant purpose-built for high-frequency append operations: each append writes a new block at the end without modifying existing data, making them ideal for shipment tracking logs. They provide low-cost, immutable storage, and using Azure Data Lake Storage Gen2 or serverless SQL, you can run queries over the entire blob to reconstruct the full route history. Unlike the other options, append blobs give you native append semantics, no per-event write cost beyond storage, and direct integration with analytics tools.

Azure Cosmos DB Core (SQL) APIWrong answer — click to see why

Why this is wrong here

Cosmos DB is optimized for low-latency reads and writes with flexible schemas, but it is more expensive than Blob Storage for append-only, rarely queried data. The question prioritizes minimizing storage cost, making Cosmos DB unsuitable.

★ When this WOULD be the correct answer

If the application required sub-millisecond reads of the latest route history, global distribution, or needed to query individual events with low latency and a flexible schema, Cosmos DB Core (SQL) API would be the correct choice.

Why candidates choose this

Candidates may assume Cosmos DB is always the best for any NoSQL or event-driven scenario, overlooking its higher cost compared to simpler storage options like Blob Storage for append-only workloads.

Azure Table StorageWrong answer — click to see why

Why this is wrong here

Azure Table Storage is a NoSQL key-value store optimized for point queries and high-volume structured data, but it does not support append-only blobs or efficient append operations for sequence-of-events data. It also lacks the analytical query capabilities needed for occasional full route history analysis, and its storage cost for large append-heavy data is higher than blob storage.

★ When this WOULD be the correct answer

An exam scenario where the requirement is to store large amounts of structured, non-relational data (e.g., device telemetry, user preferences) with low latency point queries by partition key and row key, and where data is rarely updated or deleted, but append operations are not the primary pattern. For example, storing IoT sensor readings where each reading is a separate entity and queries are by device ID and timestamp.

Why candidates choose this

Candidates may confuse Table Storage's ability to store large volumes of structured data with the append-heavy, event-log pattern, overlooking that append blobs are cheaper and more efficient for sequential writes. They might also assume Table Storage's schema-less design fits event data without considering the lack of native append support.

Azure SQL Database with a JSON columnWrong answer — click to see why

Why this is wrong here

Azure SQL Database with a JSON column is not optimal for frequently appended, never-updated route history because it incurs higher storage costs and transactional overhead compared to Azure Blob Storage append blobs, and it is not designed for high-throughput append-only workloads.

★ When this WOULD be the correct answer

This option would be correct if the route history required complex relational queries (e.g., joining with shipment metadata), needed transactional consistency, and the append volume was low enough to justify the cost of a relational database.

Why candidates choose this

Candidates may think JSON in SQL Database offers flexibility for semi-structured event data and familiarity with SQL, overlooking that append blobs are cheaper and better suited for append-heavy, read-latest scenarios.

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

Azure Blob Storage Tier Comparison

TierStorage CostRetrieval CostLatencyUse Case
HotHighestLowestImmediateActive data, frequent reads
CoolLowerHigherImmediateData accessed < once / month
ColdLower stillHigherImmediateData accessed < once / quarter
ArchiveLowestHighest + rehydration delayHoursLong-term compliance retention

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.