Overview
Domain 3 is the smallest DP-900 domain and has two functional groups. The first covers Azure Storage capabilities: Blob storage for large amounts of unstructured objects, Azure Files for managed file shares reached over SMB or NFS, and Azure Table storage for simple, low-cost key-value entities.
The second group covers Azure Cosmos DB: identifying the workloads it suits, such as globally distributed apps, IoT telemetry, retail catalogs and personalization, and describing its APIs. Those APIs let you work with Cosmos DB through a native NoSQL document model or through compatible interfaces for MongoDB, Apache Cassandra, Apache Gremlin and Table. The exam asks which service or API fits a stated need, so the key skill is matching data model, protocol and scale requirements to the right option.
How it's tested
Questions describe a storage need, such as a file share for legacy apps, cheap storage for rarely read archives, or a globally distributed app with low latency, and ask which service, tier or API applies. Clues are usually a protocol, an existing database technology, an access pattern or a latency and distribution requirement.
-
Pick the storage service
Objects and media point to Blob storage, mounted shares over SMB or NFS to Azure Files, and simple keyed entities to Table storage.
-
Pick the access tier
Frequently read data belongs in hot, infrequently read data in cool or cold, and long-term retention with hours of rehydration in archive.
-
Pick the Cosmos DB API
An existing MongoDB or Cassandra application keeps its drivers through the matching API, graph traversal needs Gremlin, and new apps default to NoSQL.
A company runs an app built on Apache Cassandra and wants a managed, globally distributed service without rewriting data access code. Blob storage and Table storage would require new code and do not support the Cassandra Query Language. The NoSQL API is the native choice for new apps, not existing Cassandra clients. Azure Cosmos DB for Apache Cassandra accepts the existing drivers and CQL, so it meets the requirement.
Functional groups 2
Official functional groups from the Microsoft outline, in outline order.
3.1 Describe the capabilities of Azure storageFeatures of Azure Blob storage, Azure Files and Azure Table storage.
- What it means
- This group covers describing the features of Azure Blob storage, Azure Files and Azure Table storage, and recognizing which service suits a given storage need.
- What to understand
- Blob storage holds unstructured objects in containers within a storage account. Block blobs suit files and media, append blobs suit logs that grow by appending, and page blobs back virtual machine disks. Access tiers trade storage cost against access cost: hot, cool, cold and archive, with archive data needing rehydration before reads. Enabling a hierarchical namespace turns the account into Azure Data Lake Storage Gen2 for analytics. Azure Files provides fully managed file shares that machines mount over SMB or NFS, useful for lift-and-shift apps and shared configuration. Azure Table storage keeps schemaless entities addressed by a partition key and row key, offering cheap key-value storage without joins or relationships.
- How it shows up
- Expect a storage requirement and a choice between Blob, Files and Table, or a question about access tiers and blob types.
- Common confusion
- Thinking Blob storage can be mapped as a network drive like Azure Files; mounted shares are what Azure Files provides.
3.2 Describe the capabilities and features of Azure Cosmos DBAzure Cosmos DB use cases and its APIs.
- What it means
- This group covers identifying use cases for Azure Cosmos DB and describing the Azure Cosmos DB APIs that applications use to store and query data.
- What to understand
- Azure Cosmos DB is a fully managed NoSQL database with single-digit millisecond latency, automatic indexing, elastic scale through partitioning, and multi-region replication with optional writes in several regions. It fits IoT telemetry, retail and product catalogs, gaming leaderboards, personalization and web or mobile apps with global users. Throughput is provisioned in request units or consumed through serverless. The NoSQL API stores JSON documents and is queried with a SQL-like language. The MongoDB and Apache Cassandra APIs let existing apps keep their drivers, the Apache Gremlin API stores graphs of vertices and edges, and the Table API offers a premium upgrade path for Azure Table storage apps.
- How it shows up
- Expect a scenario naming global distribution, low latency or an existing open-source database, and you choose Cosmos DB and the right API.
- Common confusion
- Assuming the NoSQL API means no query language; it uses a SQL-like syntax over JSON documents.
High-yield concepts
The terms, rules and formulas this domain turns into questions most often.
-
Azure Blob storage
Object storage for unstructured data.
- Remember
- Containers hold block, append and page blobs.
- Tested as
- Storage service questions.
- Trap
- Treating it as an SMB file share.
-
Access tiers
Hot, cool, cold and archive blob tiers.
- Remember
- Lower storage cost means higher access cost and latency.
- Tested as
- Cost optimization questions.
- Trap
- Expecting instant reads from archive.
-
Azure Data Lake Storage Gen2
Blob storage with a hierarchical namespace.
- Remember
- Folders and POSIX-style permissions for analytics.
- Tested as
- Analytics storage questions.
- Trap
- Thinking it is a separate database service.
-
Azure Files
Managed file shares in the cloud.
- Remember
- Mounted over SMB or NFS by many clients.
- Tested as
- Lift-and-shift and shared file questions.
- Trap
- Using it for object storage of media at scale.
-
Azure Table storage
Key-value store for schemaless entities.
- Remember
- Entities found by partition key and row key.
- Tested as
- Simple NoSQL questions.
- Trap
- Expecting joins or foreign keys.
-
Azure Cosmos DB
Globally distributed, fully managed NoSQL database.
- Remember
- Low latency, automatic indexing, multi-region replication.
- Tested as
- NoSQL service questions.
- Trap
- Assuming it supports only one data model.
-
Request units
Normalized measure of Cosmos DB throughput.
- Remember
- Reads, writes and queries all consume RUs.
- Tested as
- Cost and scale questions.
- Trap
- Confusing RUs with storage size.
-
NoSQL API
Native Cosmos DB API for JSON documents.
- Remember
- Default choice for new Cosmos DB apps.
- Tested as
- API selection questions.
- Trap
- Picking it for existing MongoDB code.
-
API for MongoDB
MongoDB wire-protocol compatibility.
- Remember
- Existing MongoDB drivers and tools keep working.
- Tested as
- Migration questions.
- Trap
- Thinking the app must be rewritten.
-
API for Apache Cassandra
Column-family model with CQL support.
- Remember
- Existing Cassandra apps connect unchanged.
- Tested as
- Migration questions.
- Trap
- Choosing Table storage instead.
-
API for Apache Gremlin
Graph database API.
- Remember
- Vertices and edges for relationship-heavy data.
- Tested as
- Graph questions.
- Trap
- Modeling deep relationships in Table storage.
-
Table API
Cosmos DB API compatible with Azure Table storage.
- Remember
- Adds global distribution and dedicated throughput.
- Tested as
- Upgrade path questions.
- Trap
- Assuming it is the same as Table storage.
Side by side
Concepts candidates mix up, compared on the point that decides the answer.
Azure Storage services
| Concept | Meaning | Key difference | Common trap |
|---|---|---|---|
| Blob storage | Object storage in containers | Unstructured objects accessed by URL or SDK | Expecting to mount it as an SMB drive |
| Azure Files | Managed file shares | Mounted by many machines over SMB or NFS | Choosing it for petabyte media archives |
| Table storage | Key-value entity store | Partition key and row key lookups, no schema | Expecting relational queries |
Azure Cosmos DB APIs
| Concept | Meaning | Key difference | Common trap |
|---|---|---|---|
| NoSQL | Native JSON document API | SQL-like queries, best for new apps | Using it for unchanged MongoDB code |
| MongoDB | MongoDB-compatible document API | Keeps existing MongoDB drivers | Assuming code must be rewritten |
| Apache Cassandra | Column-family API with CQL | Keeps existing Cassandra apps | Confusing it with the Table API |
| Apache Gremlin | Graph API | Traverses vertices and edges | Using documents for deep relationship queries |
| Table | Key-value API compatible with Table storage | Premium global option for Table apps | Thinking it changes the data model |
Blob access tiers
| Concept | Meaning | Key difference | Common trap |
|---|---|---|---|
| Hot | Frequently accessed data | Highest storage cost, lowest access cost | Leaving old backups here |
| Cool and cold | Infrequently accessed data | Lower storage cost, minimum retention periods | Ignoring early deletion charges |
| Archive | Offline long-term retention | Cheapest storage, rehydration takes hours | Expecting immediate reads |
Exam traps
Each trap is an answer that looks right. Learn the clue that should change your mind.
-
Blob as a file share
- What candidates pick
- Use Blob storage so legacy servers can map a network drive.
- Why it looks right
- Both hold files.
- Why it's wrong
- Mapped drives over SMB or NFS are provided by Azure Files, not Blob storage.
Clue to watch for Words like mount, mapped drive or SMB.
-
Archive for active data
- What candidates pick
- Move monthly reports to archive to save money.
- Why it looks right
- Archive is the cheapest tier.
- Why it's wrong
- Archive data must be rehydrated for hours before reads, which suits only rarely needed data.
Clue to watch for The data must be available on demand.
-
Rewrite for Cosmos DB
- What candidates pick
- Migrate a MongoDB app to the NoSQL API.
- Why it looks right
- NoSQL is the native API.
- Why it's wrong
- The API for MongoDB lets existing drivers and queries work without a rewrite.
Clue to watch for The scenario stresses minimal code changes.
-
Table storage for global apps
- What candidates pick
- Use Azure Table storage for a globally distributed low-latency app.
- Why it looks right
- It is a cheap key-value store.
- Why it's wrong
- Cosmos DB, optionally through its Table API, provides multi-region replication and latency guarantees.
Clue to watch for Users in several regions and strict latency.
-
Relational for graphs
- What candidates pick
- Store a social network in Azure SQL Database.
- Why it looks right
- SQL is familiar.
- Why it's wrong
- Deep relationship traversal is the specific use case for the Gremlin graph API.
Clue to watch for Questions about friends of friends or connected entities.
-
Data Lake as a new service
- What candidates pick
- Deploy Data Lake Storage Gen2 as a service separate from Azure Storage.
- Why it looks right
- It has its own name.
- Why it's wrong
- Data Lake Storage Gen2 is a storage account with the hierarchical namespace enabled.
Clue to watch for A question about enabling folder-level analytics storage.
Answer framework
Use these steps to choose a non-relational storage service, tier or Cosmos DB API.
- Identify the data model: unstructured objects, files on a share, simple key-value entities, JSON documents, column families or a graph of relationships.
- If files must be mounted by servers or users over SMB or NFS, choose Azure Files; for objects reached through URLs or SDKs, choose Blob storage.
- For Blob storage, pick the access tier from how often data is read and how quickly it must be available.
- If the scenario needs global distribution, multi-region writes or consistently low latency, choose Azure Cosmos DB.
- Choose the Cosmos DB API from existing technology: MongoDB, Cassandra or Table apps keep their API, graphs use Gremlin, new apps use NoSQL.
Practice question
Want more like this? The DP-900 practice test has questions for every domain.
Checklist
0 of 11
Tick each one you can do without notes. Your ticks stay in this browser.
Study strategy
This domain is compact, so aim to master it in a few focused sessions. Begin with a storage account in the Azure portal or a sandbox. Upload a file as a block blob, change its access tier, create a file share and look at the connection script for mounting it, then add a few entities to a table. Seeing the three services side by side makes the boundaries obvious.
Next, create a free-tier or serverless Cosmos DB account with the NoSQL API, add a few JSON items with different properties and run a query. Read the API overview page and build a five-row table of API, data model and when to choose it. Then drill short scenarios: a legacy app that needs a mapped drive, seven years of compliance records, an existing Cassandra cluster, a fraud graph, and a mobile game with players worldwide. If you can name the service and API for each without hesitation, you are ready for this part of the exam.
FAQ
How much of DP-900 is Domain 3, Describe considerations for working with non-relational data on Azure?
Microsoft weights the non-relational data domain at 15–20% of DP-900, the smallest share, split between Azure Storage and Azure Cosmos DB.
What is the difference between Blob storage and Azure Files?
Blob storage is object storage accessed through URLs and SDKs. Azure Files provides shares that machines mount as drives over SMB or NFS.
Which Cosmos DB API should a new application use?
The NoSQL API is the native and generally recommended choice for new applications that store JSON documents.
Can I move a MongoDB app to Cosmos DB without rewriting it?
Yes, the Azure Cosmos DB for MongoDB API supports MongoDB drivers and tools, so most apps need only a connection string change.
Is Azure Data Lake Storage Gen2 a separate product?
It is built on Blob storage. You enable a hierarchical namespace on a storage account to get folder semantics and fine-grained permissions.
What are request units in Cosmos DB?
A normalized measure of the CPU, memory and IO an operation uses, used for provisioning and billing throughput.
When is Azure Table storage enough instead of Cosmos DB?
When you need cheap, simple key-value storage in a single region without strict latency or global distribution requirements.
Other Data & Analytics certifications
Where the same subject shows up in other exams. Cards marked "Same subject" open the matching domain.
Test your Domain 3 knowledge
You have reviewed Blob storage, Azure Files, Table storage and Cosmos DB with its APIs. Check whether you can match each storage need to the right service.
Keep going
- Training Training Built on your Weak areas
- Practice test Questions by domain, with explanations
- Mock exam Full length, timed like the real exam
- Readiness test Find your weakest domain in minutes
- Cheat sheet Key terms and formulas on one page
- Ask the DP-900 AI tutor Get any concept explained your way