← Azure Data Fundamentals (DP-900)
Test yourself →

Core data concepts

What is data?

Data is any collection of facts a business stores and processes. It can be structured (fits neatly into rows and columns), semi-structured (has some organisation but no fixed schema, like JSON or XML) or unstructured (no defined format, like images, video or free text).

Structured data

This lives in tables with a fixed schema - every row has the same columns, and each column has a set data type. Relational databases (SQL Server, Azure SQL Database) are the classic home for this. Good for data with clear relationships, enforced by primary and foreign keys.

Semi-structured data

Think JSON, XML, key-value pairs, or graph data. It has tags or markers that separate elements, but no rigid table shape. Azure Cosmos DB is the go-to service here, along with Table Storage. Common mistake: assuming semi-structured means unorganised - it still has internal structure, just a flexible one.

Unstructured data

Images, video, audio, PDFs, free-text documents. Stored as blobs (Azure Blob Storage) or files. No inherent schema, so you need extra tools (like Azure AI services) to extract meaning from it.

Data workloads

DP-900 splits workloads into three types.

  • Transactional (OLTP) - fast, frequent, small read/write operations, e.g. an online shop taking orders. Needs low latency and high concurrency.
  • Analytical (OLAP) - large-scale queries over historical data for reporting and trends, e.g. a data warehouse. Reads are large, writes are batch-loaded.
  • Batch vs streaming - batch processes data in scheduled chunks (e.g. nightly ETL); streaming processes data continuously in near real time (e.g. IoT telemetry via Azure Stream Analytics or Event Hubs).

Data roles

Know the three core roles Microsoft tests.

  • Database Administrator (DBA) - designs, implements and maintains databases; manages security, backups and performance.
  • Data Engineer - builds and manages the data pipelines that move and transform data (ETL/ELT).
  • Data Analyst - explores and visualises data to enable business decisions, often using Power BI.

Common mistakes

  • Confusing OLTP with OLAP - OLTP is operational (day-to-day transactions), OLAP is analytical (reporting on history).
  • Thinking semi-structured data has zero structure - it does, just not a fixed relational schema.
  • Mixing up the DBA and Data Engineer roles - DBA owns the database itself, Data Engineer owns the pipeline.
  • Forgetting that batch processing is not the same as real-time streaming - exam questions often give a scenario and ask you to pick the right processing type.
  • Structured data has a fixed schema of rows and columns, typically stored in relational databases.
  • Semi-structured data (JSON, XML) has flexible tags/markers but no fixed table schema - Cosmos DB is the classic Azure service for it.
  • Unstructured data (images, video, audio, documents) has no inherent schema and is usually stored as blobs.
  • OLTP (Online Transaction Processing) handles fast, frequent, small read/write operations for day-to-day business.
  • OLAP (Online Analytical Processing) handles large-scale queries over historical data for reporting and trend analysis.
  • Batch processing handles data in scheduled chunks; streaming processing handles data continuously in near real time.
  • A Database Administrator (DBA) designs, implements, maintains, secures and backs up databases.
  • A Data Engineer builds and manages the pipelines (ETL/ELT) that move and transform data.
  • A Data Analyst explores, models and visualises data to support business decisions, often using Power BI.
  • Azure Blob Storage is the primary Azure service for storing unstructured data like images and video.
  • Azure SQL Database is a managed relational database service built for structured, transactional workloads.
  • Azure Stream Analytics and Event Hubs are used for real-time streaming data processing scenarios.
What are the three main types of data?
Structured, semi-structured and unstructured.
tap to reveal
What defines structured data?
It fits a fixed schema of rows and columns, typically in a relational database.
tap to reveal
What defines semi-structured data?
It has tags or markers giving some organisation (like JSON or XML) but no fixed table schema.
tap to reveal
What defines unstructured data?
No inherent schema at all - e.g. images, video, audio, free-text documents.
tap to reveal
Which Azure service is the classic home for semi-structured data?
Azure Cosmos DB.
tap to reveal
Which Azure service is typically used to store unstructured data?
Azure Blob Storage.
tap to reveal
What does OLTP stand for and what is it used for?
Online Transaction Processing - fast, frequent, small read/write operations for day-to-day business transactions.
tap to reveal
What does OLAP stand for and what is it used for?
Online Analytical Processing - large-scale queries over historical data for reporting and analytics.
tap to reveal
What is the difference between batch and streaming processing?
Batch processes data in scheduled chunks; streaming processes data continuously in near real time.
tap to reveal
What does a Database Administrator (DBA) do?
Designs, implements and maintains databases, including security, backups and performance.
tap to reveal
What does a Data Engineer do?
Builds and manages the data pipelines (ETL/ELT) that move and transform data.
tap to reveal
What does a Data Analyst do?
Explores, models and visualises data to enable business decisions, often using Power BI.
tap to reveal
Name two Azure services used for real-time streaming data.
Azure Stream Analytics and Azure Event Hubs.
tap to reveal
Common mistake: is semi-structured data unorganised?
No - it still has internal structure via tags/markers, just not a fixed relational schema.
tap to reveal
Is a nightly ETL job an example of batch or streaming processing?
Batch processing - it runs on a schedule rather than continuously.
tap to reveal

Relational data on Azure

Relational data on Azure

Relational data lives in tables made of rows and columns, with a fixed schema defined before you load data. Tables link together using primary keys (unique row identifier) and foreign keys (a reference to another table's primary key), and you query them with SQL. Azure gives you several ways to run relational workloads, each trading off control against management effort.

The main services

  • Azure SQL Database: a fully managed PaaS database, one database (or elastic pool of databases) per app, built on the SQL Server engine, always patched to the latest version.
  • Azure SQL Managed Instance: near-100% SQL Server engine compatibility, good for lift-and-shift migrations that need cross-database queries, SQL Agent, or linked servers.
  • SQL Server on Azure VMs: full IaaS control, you manage the OS and SQL Server yourself; pick this when you need OS-level access or unsupported features.
  • Azure Database for PostgreSQL and Azure Database for MySQL: managed open-source relational engines, same PaaS convenience as SQL Database but for open-source workloads.
  • Azure SQL Edge: a small-footprint SQL engine for IoT and edge devices, supports time-series and streaming data close to the source.

Deployment and purchasing models

  • DTU (Database Transaction Unit) model: bundles compute, memory and storage into one blended metric, simplest for predictable small workloads.
  • vCore model: lets you scale compute and storage independently, and lets you use Azure Hybrid Benefit to reuse existing SQL Server licences for a discount.
  • Serverless compute tier: auto-scales and can auto-pause during inactivity, billed per second of actual use, ideal for spiky or intermittent workloads.
  • Elastic pools: share resources across many databases with unpredictable usage patterns, cheaper than provisioning each database for peak load.

Resilience and access

  • Built-in automated backups with point-in-time restore, retained for 7-35 days depending on tier, extendable with long-term retention.
  • Active geo-replication and auto-failover groups give readable secondary copies in other regions for disaster recovery.
  • Access is via SQL authentication or Microsoft Entra ID authentication; connections are secured with firewall rules and private endpoints.

Common mistakes to avoid

  • Don't confuse Managed Instance (near-full SQL Server compatibility, instance-scoped features) with SQL Database (single/pooled database scope, some SQL Server features unsupported).
  • Don't assume normalisation always wins - it reduces redundancy but can mean more joins and slower reads for reporting workloads.
  • Remember elastic pools are for many databases with variable, non-simultaneous peaks, not for a single large database.
  • Serverless is about auto-scaling and auto-pausing compute, not about removing the database server concept entirely.
  • A primary key uniquely identifies each row in a relational table; a foreign key references another table's primary key to create a relationship.
  • Azure SQL Database is a fully managed PaaS single database or elastic pool service built on the SQL Server engine.
  • Azure SQL Managed Instance offers near-100% SQL Server engine compatibility, ideal for lift-and-shift migrations needing cross-database queries or SQL Agent.
  • SQL Server on Azure VMs is IaaS: you manage OS patching, backups and SQL Server configuration yourself for full control.
  • The DTU purchasing model blends compute, memory and storage into a single unit; the vCore model scales compute and storage independently.
  • Azure Hybrid Benefit lets you reuse existing on-premises SQL Server licences on Azure SQL to reduce cost, available with the vCore model.
  • Serverless compute tier auto-scales and can auto-pause during inactivity, billing per second of compute actually used.
  • Elastic pools share a set resource pool across multiple databases with unpredictable, non-simultaneous usage spikes to save cost.
  • Automated backups support point-in-time restore, with retention typically 7-35 days depending on service tier.
  • Active geo-replication and auto-failover groups provide readable secondary replicas in other Azure regions for disaster recovery.
  • Azure Database for PostgreSQL and Azure Database for MySQL are managed PaaS offerings for open-source relational engines.
  • Azure SQL Edge is a lightweight SQL engine designed for IoT and edge devices, supporting streaming and time-series data.
What uniquely identifies each row in a relational table?
A primary key.
tap to reveal
What does a foreign key do?
References the primary key of another table to create a relationship between tables.
tap to reveal
Which Azure relational service offers near-100% SQL Server engine compatibility for lift-and-shift migrations?
Azure SQL Managed Instance.
tap to reveal
Which Azure option gives you full IaaS control over the OS and SQL Server?
SQL Server on Azure Virtual Machines.
tap to reveal
What are the two Azure SQL purchasing models?
DTU (blended compute/memory/storage unit) and vCore (independently scalable compute and storage).
tap to reveal
What does Azure Hybrid Benefit let you do?
Reuse your existing on-premises SQL Server licences on Azure SQL for a cost discount, under the vCore model.
tap to reveal
What is the serverless compute tier for Azure SQL Database known for?
Auto-scaling and auto-pausing compute during inactivity, billed per second of actual use.
tap to reveal
When should you use an elastic pool?
When you have many databases with unpredictable, non-simultaneous usage spikes, to share resources cost-effectively.
tap to reveal
What backup feature lets you restore a database to an earlier moment?
Point-in-time restore, from automated backups typically retained 7-35 days.
tap to reveal
What provides cross-region disaster recovery with readable secondary databases for Azure SQL?
Active geo-replication and auto-failover groups.
tap to reveal
Which two Azure PaaS services host open-source relational engines?
Azure Database for PostgreSQL and Azure Database for MySQL.
tap to reveal
What is Azure SQL Edge designed for?
A lightweight SQL engine for IoT and edge devices, supporting time-series and streaming data close to the source.
tap to reveal
What two authentication methods secure access to Azure SQL Database?
SQL authentication and Microsoft Entra ID authentication.
tap to reveal
True or false: normalisation always improves query performance.
False - it reduces redundancy but can require more joins, which may slow down reporting-style reads.
tap to reveal

Non-relational data on Azure

What is non-relational data?

Non-relational (NoSQL) data does not fit neatly into rows and tables with a fixed schema. It covers key/value pairs, documents, graphs, columnar stores, and object/blob storage. Azure's main non-relational services are Azure Cosmos DB and Azure Storage (Blob, Table, File, Queue).

Azure Cosmos DB

Cosmos DB is Microsoft's globally distributed, multi-model NoSQL database. It supports several APIs so you can pick the data model that suits your app:

  • NoSQL (Core) API - native document model, stores JSON
  • MongoDB API - document model, compatible with MongoDB drivers
  • Cassandra API - wide-column model
  • Gremlin API - graph model (nodes and edges)
  • Table API - key/value, upgrade path from Azure Table Storage

Cosmos DB guarantees single-digit millisecond latency at the 99th percentile, offers 99.999% read/write availability with multi-region writes, and gives you five tunable consistency levels: Strong, Bounded Staleness, Session (the default), Consistent Prefix, and Eventual - trading consistency for lower latency and higher throughput as you move down the list. Throughput is measured in Request Units (RU/s), which can be provisioned manually or set to autoscale, or you can use serverless mode for spiky/unpredictable workloads.

Azure Storage

Azure Storage is the go-to for unstructured and semi-structured data:

  • Blob Storage - unstructured objects (images, video, backups, logs). Three access tiers: Hot (frequent access), Cool (infrequent, min 30-day storage), and Archive (rare access, min 180-day storage, hours to rehydrate)
  • Table Storage - simple NoSQL key/value store using PartitionKey and RowKey, cheap and schema-less
  • File Storage (Azure Files) - fully managed file shares accessible via SMB/NFS, good for lift-and-shift
  • Queue Storage - simple messaging between application components, decoupling producers and consumers

Common exam mistakes

  • Don't confuse Table Storage (Azure Storage) with Cosmos DB's Table API - the latter has better throughput/global distribution guarantees.
  • Blob storage tiers are about access frequency and cost, not about structure - blobs are always unstructured.
  • Cosmos DB is multi-model but each container uses ONE API - you choose it at container creation and cannot mix APIs freely.
  • Remember RU/s is the Cosmos DB currency for throughput, not raw CPU or storage size.
  • Session consistency (not Strong) is the DEFAULT consistency level in Cosmos DB.
  • Cosmos DB offers five consistency levels: Strong, Bounded Staleness, Session (default), Consistent Prefix, Eventual.
  • Cosmos DB SLA guarantees 99.999% read/write availability with multi-region writes enabled.
  • Cosmos DB throughput is measured in Request Units per second (RU/s) - provisioned, autoscale, or serverless.
  • Cosmos DB APIs: NoSQL (Core), MongoDB, Cassandra, Gremlin (graph), and Table.
  • Blob Storage access tiers: Hot, Cool (30-day minimum), and Archive (180-day minimum, hours to rehydrate).
  • Azure Table Storage uses a PartitionKey and RowKey as its schema-less key/value model.
  • Azure Files provides managed file shares over SMB/NFS protocols, ideal for lift-and-shift scenarios.
  • Queue Storage decouples application components by passing messages asynchronously.
  • Non-relational data types covered by DP-900 include key/value, document, graph, columnar, and object storage.
  • A Cosmos DB container is bound to a single API chosen at creation time - APIs are not mixed within one container.
  • Cosmos DB targets single-digit millisecond latency at the 99th percentile for reads and writes.
What is the default consistency level in Azure Cosmos DB?
Session consistency.
tap to reveal
Name the five Cosmos DB consistency levels in order from strongest to weakest.
Strong, Bounded Staleness, Session, Consistent Prefix, Eventual.
tap to reveal
What unit measures throughput in Cosmos DB?
Request Units per second (RU/s).
tap to reveal
Which Cosmos DB API would you use to model relationships like a social network?
The Gremlin API (graph model of nodes and edges).
tap to reveal
Which Cosmos DB API is compatible with existing MongoDB drivers?
The Azure Cosmos DB API for MongoDB.
tap to reveal
What is the minimum storage duration before you incur early-deletion charges in the Cool tier?
30 days.
tap to reveal
What is the minimum storage duration for the Archive tier, and how long does rehydration take?
180 days minimum; rehydration can take several hours.
tap to reveal
What two keys form the schema of Azure Table Storage?
PartitionKey and RowKey.
tap to reveal
Which Azure Storage service provides SMB/NFS managed file shares?
Azure Files.
tap to reveal
Which Azure Storage service is used to decouple application components with asynchronous messaging?
Queue Storage.
tap to reveal
What availability SLA does Cosmos DB guarantee with multi-region writes?
99.999% read/write availability.
tap to reveal
Can you use more than one API on a single Cosmos DB container?
No - each container is bound to one API chosen at creation.
tap to reveal
What latency target does Cosmos DB promise at the 99th percentile?
Single-digit millisecond latency for reads and writes.
tap to reveal
Which Cosmos DB throughput mode suits unpredictable, spiky workloads?
Serverless mode (pay per request, no provisioned RU/s).
tap to reveal
What kind of data does Blob Storage store?
Unstructured data such as images, video, backups, and log files.
tap to reveal

Data warehousing & analytics

What data warehousing and analytics means in Azure

A data warehouse stores large volumes of historical, structured data optimised for reading and reporting, not for fast single-record updates. Azure's flagship warehouse service is Azure Synapse Analytics, which combines big data and data warehousing into one workspace.

Key services to know

  • Azure Synapse Analytics: unifies SQL pools (dedicated and serverless), Spark pools, and pipelines in one workspace with Synapse Studio as the single UI.
  • Dedicated SQL pool: provisioned, pay-for-what-you-allocate compute measured in Data Warehouse Units (DWUs); best for predictable, heavy workloads.
  • Serverless SQL pool: pay-per-query, no infrastructure to manage; ideal for ad-hoc querying of files in a data lake.
  • Azure Data Factory: orchestrates ETL/ELT pipelines, moving and transforming data from many sources into a warehouse or lake.
  • Azure Databricks: Apache Spark-based platform for large-scale data engineering and machine learning.
  • Azure Analysis Services: enterprise-grade tabular semantic models for fast analytical queries.
  • Power BI: visualisation and reporting layer that sits on top of these data stores, built around datasets, reports, dashboards and workspaces.

ETL vs ELT

  • ETL (Extract, Transform, Load): data is transformed before loading into the warehouse, common with traditional on-premises tools.
  • ELT (Extract, Load, Transform): raw data is loaded first, then transformed inside the target system — the more common pattern with cloud-scale compute like Synapse and Databricks, because it exploits cheap distributed compute for transformation.

Data warehouse vs data lake vs lakehouse

  • Data warehouse: structured, schema-on-write, optimised for known business queries.
  • Data lake: stores raw structured, semi-structured and unstructured data cheaply, schema-on-read (Azure Data Lake Storage Gen2).
  • Lakehouse: combines lake storage with warehouse-like management and performance, the pattern Synapse and Databricks both support.

Batch vs streaming analytics

  • Batch processing: large volumes processed on a schedule (e.g. nightly loads via Data Factory or Synapse pipelines).
  • Stream processing: near real-time data processed as it arrives, using Azure Stream Analytics or Spark Structured Streaming in Databricks. Azure Stream Analytics uses a SQL-like query language and can output to Power BI for live dashboards.

Common mistakes

  • Confusing Synapse dedicated SQL pool (provisioned, DWU-based) with serverless SQL pool (pay-per-TB-scanned, no provisioning).
  • Thinking a data lake requires a fixed schema — it doesn't, that's the whole point of schema-on-read.
  • Assuming Power BI is only a visual tool — it also has its own data modelling and transformation layer (Power Query, DAX).
  • Forgetting Stream Analytics is the exam's named service for real-time streaming, not Data Factory (which is batch/orchestration-focused).
  • Azure Synapse Analytics unifies SQL pools, Spark pools and pipelines in a single Synapse Studio workspace.
  • Dedicated SQL pool compute is measured and billed in Data Warehouse Units (DWUs).
  • Serverless SQL pool bills per query based on data scanned, with no infrastructure to provision.
  • ETL transforms data before loading; ELT loads raw data first and transforms it inside the target system.
  • Azure Data Factory is the primary orchestration service for building batch ETL/ELT pipelines.
  • Azure Databricks is an Apache Spark-based platform for large-scale data engineering and machine learning.
  • Azure Data Lake Storage Gen2 stores raw structured, semi-structured and unstructured data using schema-on-read.
  • A data warehouse uses schema-on-write and is optimised for known, repeatable analytical queries.
  • Azure Stream Analytics is the named Azure service for real-time streaming analytics, using a SQL-like query language.
  • Power BI's core building blocks are datasets, reports, dashboards and workspaces.
  • Azure Analysis Services hosts enterprise-grade tabular semantic models for fast analytical querying.
  • A lakehouse architecture combines data lake storage with data warehouse-style management and performance.
What is Azure Synapse Analytics?
A unified workspace combining SQL pools, Spark pools and pipelines for big data and data warehousing.
tap to reveal
How is dedicated SQL pool compute billed?
In Data Warehouse Units (DWUs), a provisioned, pay-for-what-you-allocate model.
tap to reveal
How is serverless SQL pool billed?
Per query, based on the amount of data scanned, with no infrastructure to provision.
tap to reveal
What is the difference between ETL and ELT?
ETL transforms data before loading; ELT loads raw data first then transforms it inside the target system.
tap to reveal
Which Azure service orchestrates batch ETL/ELT pipelines?
Azure Data Factory.
tap to reveal
What is Azure Databricks used for?
Large-scale data engineering and machine learning on Apache Spark.
tap to reveal
What storage service underpins Azure data lakes?
Azure Data Lake Storage Gen2.
tap to reveal
What schema approach does a data lake use?
Schema-on-read — schema is applied when data is read, not when it is stored.
tap to reveal
What schema approach does a data warehouse use?
Schema-on-write — data is structured to a fixed schema before loading.
tap to reveal
Which Azure service handles real-time streaming analytics?
Azure Stream Analytics, using a SQL-like query language.
tap to reveal
What are Power BI's four core building blocks?
Datasets, reports, dashboards and workspaces.
tap to reveal
What does Azure Analysis Services provide?
Enterprise-grade tabular semantic models for fast analytical queries.
tap to reveal
What is a lakehouse architecture?
A design combining data lake storage with data warehouse-style management and performance.
tap to reveal
Why is ELT more common in cloud-scale platforms like Synapse and Databricks?
Because it exploits cheap, distributed compute to transform data after loading, rather than before.
tap to reveal
What common exam trap involves Synapse SQL pools?
Confusing dedicated SQL pool (provisioned, DWU-based) with serverless SQL pool (pay-per-query, no provisioning).
tap to reveal

Data visualisation (Power BI)

Power BI and data visualisation

Power BI is Microsoft's business intelligence tool for turning raw data into interactive reports and dashboards. In the DP-900 exam it sits under the 'data analytics workloads' area, and you need to know its building blocks and how they fit together, not how to build reports yourself.

The three core building blocks

  • Power BI Desktop - the free Windows app used to connect to data, model it, and build report pages. This is where the authoring happens.
  • Power BI Service (app.powerbi.com) - the cloud platform used to publish, share, and collaborate on reports. Reports get uploaded here from Desktop.
  • Power BI Mobile - apps for phones and tablets so people can view dashboards and reports on the move.

Key terms - learn the difference

  • Dataset - the connected and modelled data a report is built from.
  • Report - one or more pages of visuals built from a dataset, fully interactive (filter, drill down, cross-highlight).
  • Dashboard - a single canvas of pinned visuals ('tiles') pulled from one or more reports, giving an at-a-glance summary. Dashboards are Service-only - you cannot create a dashboard in Desktop.
  • Tile - a single pinned visual on a dashboard.
  • Workspace - a container in the Service where related dashboards, reports, and datasets are grouped and shared with a team.

The Power BI workflow

The standard flow is: connect to data sources in Desktop, transform and model the data with Power Query and DAX, build report visuals, then publish (upload) to the Service, where colleagues view it via browser or pin visuals to a dashboard.

Common mistakes to avoid

  • Mixing up report and dashboard - a report is multi-page and interactive; a dashboard is a single-page summary of pinned tiles and lives only in the Service.
  • Forgetting dashboards cannot be authored in Desktop - Desktop only makes reports.
  • Thinking Power BI can only use Microsoft data sources - it connects to a huge range including Excel, SQL Server, Azure SQL, Azure Synapse Analytics, and many third-party and cloud sources.
  • Confusing Power BI with Azure Synapse or Data Factory - those are for ingesting/transforming/warehousing data; Power BI is the visualisation and reporting layer on top.
  • Assuming a licence is always needed - Power BI Desktop is free; sharing and collaboration features in the Service typically need a Pro or Premium licence.

Why it matters for the exam

Expect scenario questions asking which Power BI component to use for a given need (e.g. 'summary view combining multiple reports' = dashboard) and questions distinguishing Power BI's role from other Azure analytics services like Synapse Analytics or Data Factory.

  • Power BI Desktop is the free authoring app used to connect, model, and build reports - it is Windows-only.
  • Power BI Service (app.powerbi.com) is the cloud platform for publishing, sharing, and collaborating on reports and dashboards.
  • A dataset is the connected, modelled data that reports are built from.
  • A report is a multi-page, fully interactive set of visuals built from one dataset.
  • A dashboard is a single-page canvas of pinned tiles and can only be created in the Power BI Service, not in Desktop.
  • A tile is one pinned visual on a dashboard.
  • A workspace groups related datasets, reports, and dashboards for team sharing in the Service.
  • Power BI Mobile lets users view dashboards and reports on phones and tablets.
  • Power Query is used for connecting to and transforming data; DAX is used for calculations and measures.
  • Power BI can connect to many source types, including Excel, SQL Server, Azure SQL Database, and Azure Synapse Analytics.
  • Sharing and collaboration features generally require a Power BI Pro or Premium licence, while Desktop itself is free.
  • Power BI is the visualisation/reporting layer, distinct from ingestion tools like Data Factory or warehousing tools like Synapse Analytics.
What is Power BI Desktop used for?
Free Windows app for connecting to data, modelling it, and authoring reports.
tap to reveal
What is the Power BI Service?
The cloud platform (app.powerbi.com) for publishing, sharing, and collaborating on reports and dashboards.
tap to reveal
Can you build a dashboard in Power BI Desktop?
No - dashboards can only be created in the Power BI Service.
tap to reveal
What is the difference between a report and a dashboard?
A report is a multi-page, interactive set of visuals from one dataset; a dashboard is a single-page summary of pinned tiles, possibly from multiple reports.
tap to reveal
What is a tile in Power BI?
A single pinned visual on a dashboard.
tap to reveal
What is a Power BI dataset?
The connected and modelled data that a report is built from.
tap to reveal
What is a workspace in Power BI?
A container in the Service that groups related datasets, reports, and dashboards for team sharing.
tap to reveal
What does Power BI Mobile do?
Lets users view dashboards and reports on phones and tablets.
tap to reveal
What tool inside Power BI Desktop is used for data transformation?
Power Query.
tap to reveal
What language is used for calculations and measures in Power BI?
DAX (Data Analysis Expressions).
tap to reveal
Name three data sources Power BI can connect to.
Excel, SQL Server, and Azure SQL Database (also Azure Synapse Analytics and many others).
tap to reveal
Is Power BI Desktop free to use?
Yes, but sharing and collaboration features in the Service generally require a Pro or Premium licence.
tap to reveal
How does Power BI differ from Azure Synapse Analytics or Data Factory?
Power BI is the visualisation/reporting layer; Synapse and Data Factory handle data warehousing and ingestion/transformation.
tap to reveal
What is the typical Power BI workflow?
Connect to data and model it in Desktop, then publish the report to the Service for sharing and dashboard creation.
tap to reveal

Governance & security

Governance & security in Azure data services

Data governance and security is about controlling who can see what, protecting data at rest and in transit, and proving compliance. DP-900 tests whether you know which Azure feature solves which problem.

Authentication vs authorisation

  • Authentication (AuthN) proves who you are - Azure Active Directory (Microsoft Entra ID) is the main identity provider for Azure data services.
  • Authorisation (AuthZ) decides what you can do once verified - handled through Azure role-based access control (RBAC).
  • SQL-based services also support SQL authentication (username and password) as an alternative to Entra ID.

Azure RBAC

  • RBAC assigns roles (like Reader, Contributor, Owner, or service-specific roles such as SQL DB Contributor) to users, groups, or service principals at a scope: management group, subscription, resource group, or resource.
  • Roles are additive - there is no explicit deny by default, though Azure now supports deny assignments for exceptions.
  • Principle of least privilege: always grant the minimum role needed.

Encryption

  • Encryption at rest protects data on disk - Azure Storage and Azure SQL Database use Transparent Data Encryption (TDE) by default, with AES 256-bit encryption.
  • Encryption in transit protects data moving over networks - enforced using TLS (Transport Layer Security), typically TLS 1.2 minimum.
  • Always Encrypted (SQL feature) keeps sensitive columns encrypted even from database administrators, using client-side keys.
  • Transparent Data Encryption keys can be Microsoft-managed or customer-managed (stored in Azure Key Vault) for extra control.

Network security

  • Firewalls restrict access by IP address range - Azure SQL Database has a server-level and database-level firewall.
  • Virtual network (VNet) service endpoints and Private Link let resources connect over Microsoft's private backbone rather than the public internet, reducing exposure.
  • Private Link assigns a private IP address from your VNet directly to the PaaS resource.

Auditing and monitoring

  • Azure SQL Auditing tracks database events (logins, queries, schema changes) and writes them to a storage account, Log Analytics workspace, or Event Hub.
  • Microsoft Defender for Cloud (formerly Advanced Threat Protection) detects anomalous activity like SQL injection attempts or unusual access patterns.
  • Dynamic Data Masking hides sensitive data (like full credit card numbers) from non-privileged users in query results without changing the stored data - it is not a security boundary on its own.

Common mistakes

  • Confusing authentication (identity) with authorisation (permissions) - these are two separate steps.
  • Thinking Dynamic Data Masking encrypts data - it does not; it only obscures display output.
  • Assuming TDE protects data in transit - it only protects data at rest.
  • Forgetting that RBAC in Azure is scope-based and inherits downward from higher scopes.
  • Mixing up Always Encrypted (column-level, client-side keys) with TDE (whole database, transparent to apps).</br>
  • Authentication (AuthN) verifies identity; authorisation (AuthZ) determines permissions - always keep these two separate
  • Azure RBAC assigns roles at management group, subscription, resource group, or resource scope, and roles are inherited downward
  • Transparent Data Encryption (TDE) encrypts Azure SQL Database and Storage data at rest by default using AES 256-bit encryption
  • TLS (minimum version 1.2) is used to encrypt Azure data in transit over networks
  • Always Encrypted protects specific SQL columns end-to-end using client-side keys, hiding data even from DBAs
  • Dynamic Data Masking obscures sensitive data in query results for non-privileged users but does NOT encrypt the underlying data
  • Azure SQL Database firewalls control access by allowed IP address ranges at server and database level
  • Private Link gives a PaaS resource a private IP inside your VNet, avoiding the public internet entirely
  • Microsoft Defender for Cloud detects threats like SQL injection and anomalous login patterns for Azure data services
  • Azure SQL Auditing logs database events to a storage account, Log Analytics workspace, or Event Hub
  • Least privilege means granting only the minimum RBAC role required for a task
  • Encryption keys for TDE can be Microsoft-managed or customer-managed via Azure Key Vault
What is the difference between authentication and authorisation?
Authentication verifies who you are (identity); authorisation determines what you are allowed to do (permissions).
tap to reveal
What does Azure RBAC stand for and what does it control?
Role-Based Access Control - it grants roles to users, groups or service principals at a defined scope to control permissions.
tap to reveal
At what scopes can Azure RBAC roles be assigned?
Management group, subscription, resource group, or individual resource - permissions inherit downward.
tap to reveal
What encrypts Azure SQL Database and Storage data at rest by default?
Transparent Data Encryption (TDE), using AES 256-bit encryption.
tap to reveal
What protocol secures Azure data in transit, and what is the minimum version?
TLS (Transport Layer Security), minimum TLS 1.2.
tap to reveal
What is Always Encrypted and how does it differ from TDE?
A SQL feature that encrypts specific columns using client-side keys so even DBAs cannot read them; TDE encrypts the whole database transparently instead.
tap to reveal
Does Dynamic Data Masking encrypt data?
No - it only hides or obscures sensitive data in query results for non-privileged users; the stored data is unchanged and unencrypted by this feature.
tap to reveal
What controls which IP addresses can reach an Azure SQL Database?
Server-level and database-level firewalls that allow specific IP address ranges.
tap to reveal
What does Azure Private Link provide for a PaaS data service?
A private IP address from your virtual network, so traffic never traverses the public internet.
tap to reveal
What Azure service detects threats like SQL injection attempts against data services?
Microsoft Defender for Cloud (formerly Advanced Threat Protection).
tap to reveal
Where can Azure SQL Auditing send its logs?
A storage account, a Log Analytics workspace, or an Event Hub.
tap to reveal
What is the principle of least privilege?
Grant a user or service only the minimum permissions/role required to perform its task, nothing more.
tap to reveal
Where can customer-managed TDE encryption keys be stored?
In Azure Key Vault, giving the customer control over key rotation and revocation.
tap to reveal
What identity provider is primarily used for authentication to Azure data services?
Azure Active Directory, now called Microsoft Entra ID.
tap to reveal
Besides Entra ID, what other authentication method do SQL-based Azure services support?
SQL authentication - a username and password managed within the database service itself.
tap to reveal