Master the DP-900

An interactive study guide built on 7 memory techniques to help you pass the Microsoft Azure Data Fundamentals exam.

Core 25-30%Relational 20-25%Non-Relational 15-20%Analytics 25-30%
What it covers

Core data concepts (structured/semi/unstructured), relational databases (Azure SQL), non-relational (Cosmos DB), analytics workloads (Synapse, Power BI), and data governance (Purview).

Ideal for

IT professionals new to data, business analysts, project managers, and anyone wanting a foundational understanding of Azure data services.

Aspire to this if

You're starting a career in data, moving from infrastructure to analytics, or want to validate your Azure data knowledge before pursuing associate-level certifications.

The Map

Tap any component to see what you need to know for the exam.

🗄️ Relational DataAzure SQL · PostgreSQL · MySQL📄 Non-Relational DataCosmos DB · Blob · Table📁 File & Streaming DataData Lake · Event Hubs🏭 Azure Data FactoryETL/ELT Orchestration⚡ Azure Stream AnalyticsReal-time Processing🔥 Azure DatabricksApache Spark Analytics🗄️ Azure SQL FamilySQL DB · Managed Instance · VM🌐 Azure Cosmos DBMulti-model · Global Distribution🏔️ Azure Data LakeStorage Gen2 · Hierarchical🔬 Azure Synapse AnalyticsUnified Analytics · SQL + Spark + Pipelines📊 Power BIVisualisation & Dashboards🔍 Microsoft PurviewData Governance & Cataloguing
🗄️ Relational Data
Azure SQL · PostgreSQL · MySQL
📄 Non-Relational Data
Cosmos DB · Blob · Table
📁 File & Streaming Data
Data Lake · Event Hubs
🏭 Azure Data Factory
ETL/ELT Orchestration
⚡ Azure Stream Analytics
Real-time Processing
🔥 Azure Databricks
Apache Spark Analytics
🗄️ Azure SQL Family
SQL DB · Managed Instance · VM
🌐 Azure Cosmos DB
Multi-model · Global Distribution
🏔️ Azure Data Lake
Storage Gen2 · Hierarchical
🔬 Azure Synapse Analytics
Unified Analytics · SQL + Spark + Pipelines
📊 Power BI
Visualisation & Dashboards
🔍 Microsoft Purview
Data Governance & Cataloguing

The Story

Follow the narrative to build a mental model of how everything connects.

🌊

The Data Ocean

Data exists everywhere — in databases, files, streams, and APIs. It comes in three forms: structured (tables with fixed schemas), semi-structured (JSON, XML with flexible tags), and unstructured (images, videos, documents). Understanding these forms is the first step.

Exam IntelThree data classifications: Structured (fixed schema, tables), Semi-structured (tags/keys but flexible — JSON, XML), Unstructured (no schema — images, video, audio). Know which Azure services handle each.
🏗️

The Foundations

Before data can flow, it needs a home. Relational databases store structured data in normalised tables with ACID guarantees. Non-relational databases offer flexibility — documents, key-value pairs, graphs, and column families each solve different problems.

Exam IntelACID = Atomicity (all or nothing), Consistency (valid state), Isolation (concurrent safety), Durability (committed = permanent). Normalisation reduces redundancy. Denormalisation improves read performance.
🗄️

The SQL Fortress

Azure SQL stands as a fortress for relational data. Three tiers serve different needs: SQL Database for cloud-native apps, Managed Instance for lift-and-shift migrations with near-full SQL Server compatibility, and SQL Server on VMs for those who need complete control.

Exam IntelAzure SQL Database = PaaS (Microsoft manages infra). Managed Instance = PaaS with 99% SQL Server compat. SQL VM = IaaS (you manage OS + SQL). Choose PaaS first, VM only when you need OS access or unsupported features.
🌐

The Global Network

Azure Cosmos DB spans the globe. Its multi-model engine speaks many languages — NoSQL, MongoDB, Cassandra, Gremlin, and Table. With single-digit millisecond reads and five tuneable consistency levels, it trades between performance and data freshness.

Exam IntelCosmos DB 5 consistency levels (strongest to weakest): Strong → Bounded Staleness → Session (default) → Consistent Prefix → Eventual. Request Units (RUs) = throughput currency. APIs determine data model.
🏭

The Pipeline Factory

Data rarely stays where it was born. Azure Data Factory builds pipelines that extract data from 90+ sources, transform it in mapping data flows, and load it into analytical stores. Triggers schedule the work — on a timer, in tumbling windows, or when events fire.

Exam IntelETL = Extract, Transform, Load (transform before storing). ELT = Extract, Load, Transform (load raw, transform in place — preferred for big data). Data Factory handles both. Mapping data flows = code-free visual transforms.
⚡

The Stream

Some data can't wait for batch processing. Event Hubs ingests millions of events per second, and Stream Analytics processes them in real-time using windowing functions — tumbling windows for fixed intervals, sliding windows for overlapping events.

Exam IntelBatch = process accumulated data at intervals. Streaming = process as it arrives. Windowing: Tumbling (fixed, non-overlapping), Hopping (fixed, overlapping), Sliding (event-triggered), Session (grouped by activity gap).
🏔️

The Data Lake

Azure Data Lake Storage Gen2 is the vast reservoir where raw data accumulates. Built on Blob Storage with a hierarchical namespace, it stores petabytes of data in formats like Parquet and Avro, ready for Spark and Synapse to analyse.

Exam IntelData Lake Gen2 = Blob Storage + hierarchical namespace. Blob tiers: Hot (frequent access), Cool (30+ days), Archive (180+ days, offline). Parquet = columnar (analytics). Avro = row-based (streaming). CSV/JSON = human-readable.
🔬

The Analytics Engine

Azure Synapse Analytics is the great unifier — SQL pools for data warehousing, Spark pools for big data processing, and built-in pipelines for orchestration. Serverless SQL lets you query Data Lake files without provisioning anything.

Exam IntelSynapse dedicated SQL pool = MPP data warehouse (provisioned, pay for compute). Serverless SQL pool = pay-per-query on files. Spark pool = big data notebooks. Synapse Link = HTAP (analytical queries on operational data without ETL).
📊

The Dashboard Gallery

Power BI transforms data into stories. Desktop for authoring, Service for sharing, Mobile for on-the-go consumption. Reports tell detailed multi-page stories; dashboards pin the most critical tiles on a single page for at-a-glance monitoring.

Exam IntelPower BI Dashboard vs Report: Dashboard = single page, pins from multiple reports, no filters. Report = multi-page, interactive filters, built from one dataset. Paginated reports = pixel-perfect, optimised for printing.
🔍

The Catalogue

Microsoft Purview brings order to the data estate. It scans sources automatically, builds a Data Map of all assets, traces lineage from source to dashboard, and applies sensitivity labels for compliance — ensuring data is discoverable, trustworthy, and governed.

Exam IntelPurview Data Catalog = discover/search data. Data Map = automated metadata scanning. Data Lineage = source-to-report tracing. Data Estate Insights = usage and health dashboards. Sensitivity labels from Microsoft 365 apply to data assets.

Mnemonic Wall

Memorable acronyms and phrases to anchor key exam concepts in your memory.

💎
ACID
Transaction guarantees. All-or-nothing, valid state, concurrent safety, committed = permanent.
📊
OLTP vs OLAP
OLTP = many small writes (point of sale). OLAP = complex reads (data warehouse). Know which services serve which.
🗄️
SMA
"SMV" — Azure SQL family from most managed to least. PaaS → PaaS → IaaS.
🌐
SBSCE
Cosmos DB consistency levels from strongest to weakest. Session is the default.
📄
DKCG
Four types of non-relational data stores. Cosmos DB supports all four via different APIs.
🔥
THSS
"THE windows HOP, SLIDE, and SESSION." Stream Analytics windowing functions.
🏔️
HCCA
Blob Storage access tiers. Hot = frequent. Cool = 30+ days. Cold = 90+ days. Archive = 180+ days, offline, must rehydrate.
📊
DRD
Power BI building blocks in order. Dashboards pin tiles from reports. Reports built from datasets.
🔑
PK-FK
PK uniquely identifies a row. FK references another table's PK. This creates relationships in relational databases.
📦
ELT
Modern approach: load raw data first, transform in place. Preferred for big data. ETL transforms before loading.
🔬
DSP
Synapse Analytics three compute options. Dedicated = provisioned MPP. Serverless = pay-per-query. Spark = big data.
📁
PJCA
Key file formats. Parquet = columnar (analytics). JSON = semi-structured. CSV = flat text. Avro = row-based (streaming).
🌐
NMCGT
Cosmos DB's 5 APIs. NoSQL is the native/recommended API.
🛡️
AAA
Three pillars of data security. Who are you, what can you do, what did you do.
🔍
CMLD
Microsoft Purview capabilities. Catalog (discover), Map (scan metadata), Lineage (trace flow), Labels (classify).

Versus Arena

Side-by-side comparisons to sharpen your understanding of similar concepts.

vs
RelationalvsNon-Relational

Relational vs Non-Relational

AspectRelationalNon-Relational
SchemaFixed (schema-on-write)Flexible (schema-on-read)
LanguageSQLVaries (API-specific)
ScalingVertical (scale up)Horizontal (scale out)
ACIDFull supportVaries by service
Best forStructured data, transactionsSemi/unstructured, scale
Azure servicesAzure SQL, PostgreSQL, MySQLCosmos DB, Table Storage
vs
BatchvsStreaming

Batch vs Streaming

AspectBatchStreaming
TimingProcesses accumulated dataProcesses as it arrives
LatencyMinutes to hoursSeconds to milliseconds
VolumeLarge datasetsIndividual events
ExamplesNightly ETL, monthly reportsIoT sensors, fraud detection
Azure servicesData Factory, SynapseStream Analytics, Event Hubs
ComplexitySimpler to implementMore complex, stateful
vs
SQL DBvsManaged InstancevsVM

SQL DB vs Managed Instance vs VM

AspectSQL DBManaged InstanceVM
ModelPaaSPaaS | IaaS
CompatibilityMost features~99% SQL Server | 100% SQL Server
ManagementFully managedMostly managed | You manage
Use caseNew cloud appsLift-and-shift | Full control needed
OS accessNoNo | Yes
CostLowestMedium | Highest
vs
OLTPvsOLAP

OLTP vs OLAP

AspectOLTPOLAP
PurposeDay-to-day transactionsAnalytics & reporting
OperationsMany small reads/writesComplex queries, aggregations
SchemaNormalised (3NF)Denormalised (star/snowflake)
DataCurrent, operationalHistorical, analytical
ExamplesOrder entry, bankingData warehouse, BI
Azure servicesAzure SQL, Cosmos DBSynapse, Power BI
vs
Star SchemavsSnowflake Schema

Star Schema vs Snowflake Schema

AspectStar SchemaSnowflake Schema
DimensionsDenormalisedNormalised (sub-dimensions)
JoinsFewer (faster queries)More (complex queries)
StorageMore redundancyLess redundancy
Query speedFasterSlower
ComplexitySimplerMore complex
Best forMost BI/analyticsWhen storage matters
vs
ETLvsELT

ETL vs ELT

AspectETLELT
Transform whereIn transit (staging)In destination
Best forSmaller datasetsBig data, cloud-native
SpeedSlower (transform first)Faster load, transform later
ComplexityTransform engine neededLeverage destination compute
Data qualityClean before loadRaw data available
Azure exampleData Factory mappingsSynapse + Data Lake
vs
DashboardvsReport

Dashboard vs Report

AspectDashboardReport
PagesSingle pageMulti-page
SourcePins from multiple reportsSingle dataset
InteractivityClick to navigateFilters, slicers, drill
Where createdPower BI Service onlyPower BI Desktop or Service
Use caseAt-a-glance monitoringDetailed analysis
RefreshReal-time tiles possibleScheduled or on-demand
vs
HotvsCoolvsColdvsArchive

Hot vs Cool vs Cold vs Archive

AspectHotCoolColdArchive
Min retentionNone | 30 days90 days | 180 days
Storage costHighest | LowerLower still | Lowest
Access costLowest | HigherHigher | Highest (rehydrate)
Availability99.9% | 99%99% | Offline
Use caseActive data | Short-term backupRarely accessed | Compliance, long-term
vs
Cosmos DB APIs Compared

Cosmos DB APIs Compared

AspectCosmos DB APIs Compared
NoSQLJSON documentsNew apps (recommended)
MongoDBBSON documentsMongoDB migrations
CassandraColumn-familyCassandra workloads
GremlinGraph (vertices/edges)Relationship-heavy data
TableKey-valueAzure Table migrations

Cheat Sheet

Organised reference grouped by exam domain — everything you need on one page.

Core Data Concepts

25-30%

Data Classification

  • Structured: fixed schema, tables, rows/columns
  • Semi-structured: flexible tags (JSON, XML, YAML)
  • Unstructured: no schema (images, video, audio, docs)

Data Roles

  • Database Admin: backups, access, performance, security
  • Data Engineer: pipelines, integration, data prep
  • Data Analyst: reports, dashboards, visualisations

File Formats

  • CSV: plain text, comma-separated, human-readable
  • JSON: key-value pairs, semi-structured
  • Parquet: columnar, compressed, analytics-optimised
  • Avro: row-based, schema evolution, streaming

Processing Patterns

  • Batch: scheduled, large volumes, high latency OK
  • Streaming: real-time, event-driven, low latency
  • ETL: transform before load (traditional)
  • ELT: load raw, transform in place (modern/cloud)

Relational Data

20-25%

Core Concepts

  • Tables, rows (records), columns (fields)
  • Primary Key: unique row identifier
  • Foreign Key: references another table's PK
  • Normalisation: reduce redundancy (1NF, 2NF, 3NF)
  • ACID transactions: all-or-nothing guarantees

SQL Commands

  • DDL: CREATE, ALTER, DROP (structure)
  • DML: SELECT, INSERT, UPDATE, DELETE (data)
  • DCL: GRANT, REVOKE (permissions)
  • Views: virtual tables from queries
  • Indexes: speed up queries, slow down writes

Azure SQL Family

  • SQL Database: PaaS, elastic pools, serverless
  • Managed Instance: near-full SQL Server compat
  • SQL VM: IaaS, full OS access, any SQL version
  • PostgreSQL/MySQL: open-source managed PaaS

Security

  • Azure AD authentication
  • Firewall rules (IP-based)
  • TDE: Transparent Data Encryption (at rest)
  • Always Encrypted: client-side encryption

Non-Relational Data

15-20%

Data Store Types

  • Key-value: simple lookups (Redis, Table Storage)
  • Document: JSON docs (Cosmos DB NoSQL)
  • Column-family: wide columns (Cosmos DB Cassandra)
  • Graph: vertices + edges (Cosmos DB Gremlin)

Azure Cosmos DB

  • Global distribution with multi-region writes
  • 5 APIs: NoSQL, MongoDB, Cassandra, Gremlin, Table
  • 5 consistency levels: Strong → Eventual
  • Request Units (RUs) = throughput measure
  • Partition key determines data distribution

Azure Storage

  • Blob: unstructured (Hot/Cool/Archive tiers)
  • File: SMB/NFS file shares (lift-and-shift)
  • Queue: messaging between components
  • Table: key-value NoSQL (simple, cheap)

When to Use

  • Key-value: session state, caching, config
  • Document: content management, catalogues
  • Column-family: IoT telemetry, time series
  • Graph: social networks, fraud detection

Analytics Workload

25-30%

Azure Synapse

  • Dedicated SQL pool: provisioned MPP warehouse
  • Serverless SQL pool: pay-per-query on files
  • Spark pool: big data notebooks
  • Synapse Link: HTAP (no-ETL analytics on ops data)

Power BI

  • Desktop: author reports locally
  • Service: publish, share, collaborate
  • Mobile: consume on devices
  • Dashboard = single page, pins from reports
  • Report = multi-page, interactive, one dataset
  • Paginated = pixel-perfect, print-ready

Data Warehousing

  • Star schema: fact table + dimension tables
  • Snowflake schema: normalised dimensions
  • Fact tables: measurements/events (numeric)
  • Dimension tables: descriptive attributes
  • Slowly Changing Dimensions (SCD) types

Governance

  • Microsoft Purview: unified data governance
  • Data Catalog: discover and classify assets
  • Data Map: automated metadata scanning
  • Data Lineage: trace data flow end-to-end
  • Sensitivity labels for compliance

The Memory Palace

Walk through themed rooms — each object anchors a concept in spatial memory.

The Foundation Hall

Core Data Concepts — Where understanding begins

📊
Structured Data
Tables with rows and columns. Fixed schema. SQL databases
📄
Semi-Structured
JSON, XML, YAML. Flexible tags/keys. No fixed table format
🖼️
Unstructured Data
Images, video, audio, documents. No inherent schema
💎
ACID Properties
Atomicity (all/nothing), Consistency, Isolation, Durability
📦
ETL vs ELT
Transform then load (ETL) vs load then transform (ELT). ELT preferred for cloud
⚡
Batch vs Stream
Batch = scheduled bulk. Stream = real-time. Different tools for each

The SQL Chamber

Relational Data — Where structure reigns

🗄️
Azure SQL Database
Fully managed PaaS. Elastic pools for multi-tenant. Serverless option
🔄
Managed Instance
Near 100% SQL Server compat. Lift-and-shift migrations. VNet integration
🖥️
SQL VM
Full IaaS control. Any SQL Server version. OS-level access
🔑
Keys & Relations
Primary Key = unique ID. Foreign Key = reference. Creates table relationships
📐
Normalisation
1NF → 2NF → 3NF. Reduces redundancy. Improves data integrity
🐘
Open Source DBs
Azure Database for PostgreSQL and MySQL. Fully managed PaaS

The Cosmos Chamber

Non-Relational Data — Where flexibility thrives

🌐
Cosmos DB
Global distribution. <10ms latency. 5 APIs. 5 consistency levels
📄
Document Store
JSON documents. Flexible schema. Each doc can differ. Cosmos DB NoSQL API
🔑
Key-Value Store
Simplest model. Fast lookups by key. Azure Table Storage, Redis Cache
📊
Column-Family
Wide columns. Good for time-series, IoT. Cosmos DB Cassandra API
🕸️
Graph Store
Vertices + edges. Model relationships. Cosmos DB Gremlin API
📦
Blob Storage
Unstructured data. Hot/Cool/Archive tiers. Block, append, page blobs

The Pipeline Room

Data Integration — Where data flows

🏭
Data Factory
90+ connectors. Pipelines. Mapping data flows. Schedule/event triggers
⚡
Stream Analytics
SQL-like queries on streams. 4 windowing functions. Real-time output
🔥
Azure Databricks
Apache Spark platform. Notebooks. Python/Scala/SQL/R. Delta Lake
🔬
Synapse Analytics
Unified: SQL pools + Spark pools + Pipelines. Serverless & dedicated
🏔️
Data Lake Gen2
Blob + hierarchical namespace. Parquet/Avro/Delta. Big data optimised
📡
Event Hubs
Millions of events/second. Kafka compatible. Streaming ingestion

The Insight Gallery

Analytics & Governance — Where value emerges

📊
Power BI Desktop
Author reports. Connect to data. DAX calculations. Publish to Service
📋
Power BI Service
Share reports. Create dashboards. Schedule refresh. Collaborate
⭐
Star Schema
Fact table (measures) + dimension tables (attributes). Analytics standard
🔍
Microsoft Purview
Data Catalog + Map + Lineage. Sensitivity labels. Unified governance
🛡️
Data Security
Azure AD auth. Firewall rules. TDE at rest. Always Encrypted
📈
Paginated Reports
Pixel-perfect. Print-optimised. Multi-page tables. SSRS-based

Pattern Spotter

Decision trees and trigger-answer pairs — see the pattern, know the answer.

Which Azure Database Service?
Which Azure Database Service?
  ├── Relational + new cloud app → Azure SQL Database
  ├── Relational + migrating SQL Server → SQL Managed Instance
  ├── Relational + need OS access → SQL Server on VM
  ├── NoSQL documents + global scale → Cosmos DB
  ├── Simple key-value lookups → Azure Table Storage
  ├── PostgreSQL or MySQL → Azure Database for PostgreSQL/MySQL
  └── Unstructured files/blobs → Azure Blob Storage
Which Analytics Service?
Which Analytics Service?
  ├── Full data warehouse (provisioned) → Synapse Dedicated SQL Pool
  ├── Ad-hoc queries on Data Lake files → Synapse Serverless SQL Pool
  ├── Big data processing with Spark → Synapse Spark Pool / Databricks
  ├── Real-time stream processing → Azure Stream Analytics
  ├── Business intelligence dashboards → Power BI
  └── Data governance & cataloguing → Microsoft Purview
Which Cosmos DB API?
Which Cosmos DB API?
  ├── New app, JSON documents → NoSQL API (recommended)
  ├── Migrating from MongoDB → MongoDB API
  ├── Wide-column / Cassandra workload → Cassandra API
  ├── Graph / relationship-heavy data → Gremlin API
  └── Migrating from Azure Table Storage → Table API
Which File Format?
Which File Format?
  ├── Analytics / columnar queries → Parquet
  ├── Streaming / schema evolution → Avro
  ├── API / semi-structured exchange → JSON
  ├── Simple tabular / human-readable → CSV
  └── Delta Lake / ACID on data lake → Delta (Parquet + transaction log)

Decision Cards

“globally distributed” or “multi-region writes”→Azure Cosmos DB
“single-digit millisecond latency”→Cosmos DB
“Request Units” or “RU/s”→Cosmos DB throughput
“ACID transactions” on relational data→Azure SQL Database
“lift-and-shift” SQL Server migration→SQL Managed Instance
“elastic pool” for multi-tenant→Azure SQL Database
“hierarchical namespace”→Data Lake Storage Gen2
“Hot, Cool, Archive” tiers→Azure Blob Storage
“tumbling window” or “hopping window”→Stream Analytics windowing
“mapping data flow” or “90+ connectors”→Azure Data Factory
“serverless SQL pool” or “pay-per-query”→Synapse Analytics
“Synapse Link” or “HTAP”→No-ETL analytics on operational data
“star schema” or “fact and dimension”→Data Warehouse design
“Data Catalog” or “data lineage”→Microsoft Purview
“dashboard vs report”→Dashboard = single page, Report = multi-page
“paginated report” or “pixel-perfect”→Power BI Paginated Reports
“partition key” for NoSQL→Cosmos DB data distribution
“graph database” or “vertices and edges”→Cosmos DB Gremlin API

Train with practitioners, not presenters

Lucid Labs delivers Microsoft certification training led by Microsoft Certified Trainers (MCTs) and grounded in real-world project experience. We adapt every session to your team's environment, data stack, and business objectives — because the best exam prep comes from engineers who build these solutions every day.

🎯
Tailored Content
Training built around your actual data, your tools, and your use cases — not generic slides.
🛠️
Hands-On Labs
Work through real scenarios in your own environment with expert guidance at every step.
📈
Exam + Capability
Pass the exam and build lasting skills your team can apply from day one.
Talk to us about Azure Data Fundamentals training

Custom training for teams & individuals — remote or on-site across Australia

Keith Oak
Keith Oak
Chief Technology Officer — Lucid Labs

Microsoft Solutions Partner architect specialising in Fabric, Azure Data & AI, and GitHub Enterprise. 18+ years delivering data platforms for Australian businesses — building the systems these exams test every day.