Blog Certification Guides

Relational vs Non-Relational Data on Azure: A DP-900 Deep Dive

Confused by relational vs non-relational data on the DP-900 exam? Learn schema-on-write vs schema-on-read, the four NoSQL families, and the Azure services that map to each.

Relational vs Non-Relational Data on Azure: A DP-900 Deep Dive

If one topic trips up beginners on the Microsoft Azure Data Fundamentals (DP-900) exam, it is the line between relational and non-relational data. The words sound like a simple either/or, but the exam expects you to understand why the two models exist, what trade-off each one makes, and which Azure service you would reach for in a given scenario. Get the underlying idea straight and a whole cluster of DP-900 questions stops being guesswork. This deep dive teaches the distinction properly, then maps it onto the Azure services Microsoft actually asks about.

The real divide: schema-on-write vs schema-on-read

The cleanest way to understand relational versus non-relational data is not "tables versus no tables." It is when the structure of your data gets enforced. A relational database uses schema-on-write: you define the shape of the data — the tables, columns, and data types — before you can insert a single row. If a row does not fit that shape, the database rejects it. The structure is a contract enforced at the moment you write.

A non-relational database typically uses schema-on-read: you can store items with different shapes side by side, and the structure is interpreted later, when your application reads and uses the data. The store itself does not police the shape on the way in.

An analogy helps. Schema-on-write is a filing cabinet with pre-cut, labelled folders: everything must fit an existing folder or it does not go in, which keeps things immaculately consistent but makes it a chore to add a new kind of document. Schema-on-read is a big labelled box you toss papers into; adding anything is instant, but the effort of making sense of it moves to whoever opens the box later. Neither is "better" — they push the work to different ends of the process, and the DP-900 wants you to know which end suits which job.

When to use each

Relational databases shine when your data is highly structured, the relationships between entities matter, and correctness is non-negotiable. Think of an order that must never charge a customer without decrementing inventory. Relational systems give you strong consistency and transactions with ACID guarantees (atomicity, consistency, isolation, durability), and a mature query language in SQL. The cost is rigidity: changing the schema across billions of rows is real work, and scaling a single relational server to enormous write volumes is harder.

Non-relational databases trade some of that guaranteed consistency for flexibility and scale. When your data arrives in varied or evolving shapes, when you need to ingest enormous volumes quickly, or when you want to distribute data across the globe with very low latency, a non-relational store fits better. The catch is that you often give up cross-entity joins and, in many designs, immediate consistency. A worked example makes the choice concrete: a bank ledger belongs in a relational database because every transaction must balance exactly; a product catalog where each item type has wildly different attributes, or a stream of IoT sensor readings arriving by the million, is a natural fit for non-relational storage. The DP-900 tests exactly this kind of "which model fits this described workload" judgement, and building that instinct is what the practice questions for the DP-900 on ExamStudyApp are designed to train.

The four non-relational families

"Non-relational" is not one thing — it is an umbrella over several data models, and DP-900 expects you to recognise the four main NoSQL families and a typical use for each.

  • Key-value stores keep data as a simple pair: a unique key and an opaque value. They are blisteringly fast for "give me the value for this key" lookups, which makes them ideal for caching, session state, and user preferences. There is no querying inside the value.
  • Document stores hold self-contained documents, usually JSON, where each document carries its own structure. Two documents in the same collection can have different fields. This is the workhorse model for catalogs, user profiles, and content where each record varies.
  • Column-family (wide-column) stores organise data into rows that can each hold a huge, sparse set of columns grouped into families. They excel at very large-scale writes and time-series-style data where each row may use a different subset of columns.
  • Graph stores model data as nodes and the edges between them, making relationships first-class citizens. When the connections themselves are the point — social networks, recommendation engines, fraud rings — a graph database answers "how is A connected to B" far more naturally than joins ever could.

You do not need to design any of these on the exam. You need to be able to finish the sentence "you would use a ___ store when ___," which is the same recognition skill that carries you through the relational side.

Mapping it onto Azure services

Now the payoff: DP-900 ties every one of these concepts to a specific Azure service, and confusing them is where marks get lost. On the relational side, Azure SQL Database is the managed, schema-on-write relational engine — the fully managed platform-as-a-service version of SQL Server — alongside Azure Database for PostgreSQL and MySQL for those open-source engines. These are your homes for structured, transactional data.

On the non-relational side, Azure Cosmos DB is the headline globally distributed database, and its several APIs cover multiple NoSQL families at once: the NoSQL (Core) API is a document store, and Cosmos DB also offers Table, MongoDB, Cassandra (column-family), and Gremlin (graph) APIs. That single fact — one Cosmos DB, many data models — is a favourite DP-900 test point. Separately, Azure Table Storage is a simpler key-value/wide-column store for structured non-relational data, and Azure Blob Storage is object storage for unstructured data such as images, video, and backups. A classic exam mistake is to reach for Blob Storage when the scenario describes structured, queryable records, or to pick Azure SQL Database when the scenario clearly describes globally distributed, flexible-schema documents. Working through timed scenarios trains you to read for the tell-tale words — "globally distributed," "flexible schema," "strong transactional consistency" — that point to the right service.

Turning understanding into a pass

The distinction between relational and non-relational data threads through the whole Microsoft Azure Data Fundamentals syllabus, so understanding it well lifts your score across several objectives at once, not just one. The way to lock it in is to test the recognition under realistic conditions rather than re-reading definitions. Full timed DP-900 exam simulations that match the real Microsoft format let you practise choosing the right model and the right Azure service against the clock, while adaptive practice keeps feeding you more items from the areas where you slip — and reviewing every missed question with its explanation is what converts a shaky guess into a confident answer. When your readiness tracking shows you are consistently clearing the pass mark on fresh questions, you will know the concept has stuck and it is time to book. If you want a structured path from "I sort of get it" to genuinely exam-ready, the Azure Data Fundamentals practice set is built to take you there.

Related exams
An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.