Describe considerations for working with non-relational data on Azure →mediumMultiple ChoiceObjective-mapped
DP-900 Practice Question: Describe considerations for working with non-relational data on Azure
A social networking application stores user profiles as JSON documents in Azure Cosmos DB. Each profile includes fields such as 'userName', 'email', 'followersCount', and optional 'interests'. The application needs to perform fast point reads by 'userName' (under 10 ms) and also run queries to find all users with a 'followersCount' greater than a certain value. The development team prefers to use a query syntax similar to SQL. Which Azure Cosmos DB API should they choose?
⚠ Common exam trap
It's easy for candidates to confuse the SQL-like syntax of Cassandra's CQL with the native SQL API, overlooking that Cassandra is a wide-column store not optimized for JSON document queries, while the SQL API is purpose-built for JSON documents and SQL queries.
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 Cosmos DB for NoSQL (SQL API)
Azure Cosmos DB for NoSQL (SQL API) is the correct choice because it natively supports SQL-like query syntax for querying JSON documents, enabling the required queries such as filtering by 'followersCount'. It also provides fast point reads (under 10 ms) by using the 'userName' field as the partition key, ensuring efficient direct access to individual documents.
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 for NoSQL (SQL API)
Why this is correct
The SQL API is the native JSON document API for Azure Cosmos DB. It stores each user profile as a self-contained JSON document and automatically indexes every property without requiring a predefined schema. Developers can query these documents using a familiar SQL-like syntax (SELECT, WHERE, JOIN, GROUP BY) over any field, including nested properties like followersCount, and perform point reads using the partition key and document ID for optimal latency.
- ✗
Azure Cosmos DB for MongoDB
Why it's wrong here
While MongoDB is designed for document storage using the BSON format, it uses a proprietary query language instead of the SQL syntax requested by the development team. This API would be the correct choice if the application required seamless migration from existing MongoDB clusters or specific aggregation frameworks used in those environments. It lacks the native SQL-based querying mechanism required to satisfy this specific developer preference.
- ✗
Azure Cosmos DB for Table
Why it's wrong here
The Table API is a schema-less key-value store designed for tabular data, not hierarchical JSON. It supports queries only on the PartitionKey and RowKey fields; querying or filtering on a property like followersCount would require a table scan and is not supported as a first-class indexed predicate. JSON documents would need to be flattened into key-value pairs, losing the ability to run rich, schema-agnostic SQL queries over the original document structure.
When this WOULD be correct
A question where an application stores structured, non-relational data (e.g., sensor readings or user preferences) in a table format, requires fast point reads by a partition key, and uses OData-like queries instead of SQL. The team prefers a simple key-value API with table storage semantics.
- ✗
Azure Cosmos DB for Apache Cassandra
Why it's wrong here
Apache Cassandra's API in Cosmos DB exposes a wide-column model governed by CQL, a query language tailored around partition keys and clustering columns, not SQL. While it can store JSON as a text blob, it lacks the native index on every subproperty that the SQL API provides, so filtering on followersCount would force a full scan or require careful denormalization and materialized views. The development team would have to redesign their schema and query logic from JSON documents to CQL table structures, defeating the purpose of using a JSON-native store.
When this WOULD be correct
A question where the application requires high-throughput writes and reads with a schema that is columnar (e.g., time-series data), and the team is familiar with Cassandra's CQL. For example: 'A telemetry system stores device readings with columns like deviceId, timestamp, and value. The team knows CQL and needs a globally distributed, low-latency 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 Cosmos DB for NoSQL (SQL API)Correct answer▾
Why this is correct
The SQL API is the native JSON document API for Azure Cosmos DB. It stores each user profile as a self-contained JSON document and automatically indexes every property without requiring a predefined schema. Developers can query these documents using a familiar SQL-like syntax (SELECT, WHERE, JOIN, GROUP BY) over any field, including nested properties like followersCount, and perform point reads using the partition key and document ID for optimal latency.
✗Azure Cosmos DB for TableWrong answer — click to see why▾
Why this is wrong here
Azure Cosmos DB for Table is designed for key-value and wide-column data with a tabular schema, not for JSON documents. It does not support SQL-like queries on nested JSON fields or efficient point reads by 'userName' as a custom key.
★ When this WOULD be the correct answer
A question where an application stores structured, non-relational data (e.g., sensor readings or user preferences) in a table format, requires fast point reads by a partition key, and uses OData-like queries instead of SQL. The team prefers a simple key-value API with table storage semantics.
Why candidates choose this
Candidates may confuse Azure Cosmos DB for Table with the Table API in Azure Storage, thinking it supports JSON-like data, or they may assume 'Table' implies a general-purpose NoSQL option suitable for any schema.
✗Azure Cosmos DB for Apache CassandraWrong answer — click to see why▾
Why this is wrong here
Azure Cosmos DB for Apache Cassandra uses the Cassandra Query Language (CQL), not SQL-like syntax, and is optimized for wide-column stores, not JSON documents. It does not natively support point reads by a single field like 'userName' with the same low-latency guarantees as the SQL API.
★ When this WOULD be the correct answer
A question where the application requires high-throughput writes and reads with a schema that is columnar (e.g., time-series data), and the team is familiar with Cassandra's CQL. For example: 'A telemetry system stores device readings with columns like deviceId, timestamp, and value. The team knows CQL and needs a globally distributed, low-latency database.'
Why candidates choose this
Candidates may associate Cassandra with high scalability and low latency, and mistakenly think its CQL is similar enough to SQL for the query requirement, overlooking that the data model (JSON documents) and the need for SQL-like syntax are better served by the NoSQL API.
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?”
Go deeper
Related to this question
Learn chapter
Azure SQL Services
Key term
Cosmos DB API
Cosmos DB API is a collection of interfaces that lets applications interact with Azure Cosmos DB, a globally distributed NoSQL database, using different data models and query languages.
Key term
Partition key
A partition key is a value used by database systems to distribute data across multiple storage partitions, enabling faster queries and efficient scaling.
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 →
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.