DP-900 Describe core data concepts Practice Question
Which TWO are advantages of using a NoSQL database like Azure Cosmos DB over a relational database like Azure SQL Database?
⚠ Common exam trap
Watch out — candidates often confuse the ACID support in NoSQL databases (which is limited to single-document operations) with the full multi-record ACID transactions of relational databases, leading them to incorrectly select Option B.
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
✓
Flexible schema design
Option C (Flexible schema design) is correct because Azure Cosmos DB is schema-agnostic: documents in the same container can have different structures, and new fields can be added without migrations or ALTER TABLE operations, which suits rapidly evolving or semi-structured data. Option D (Horizontal scaling across multiple regions) is correct because Cosmos DB is natively partitioned and distributes data across partitions and Azure regions, supporting multi-region writes and turnkey global distribution with low latency, whereas Azure SQL Database scales primarily vertically and requires additional configuration (e.g., geo-replication, sharding) for comparable horizontal/global scale. Option A (Support for complex joins) is not an advantage of NoSQL here, since Cosmos DB has limited join support (joins are intra-document, not cross-container like SQL joins). Option B (ACID transactions across multiple records) is not unique to NoSQL, as Azure SQL Database provides full ACID transactions across tables, and Cosmos DB's transactional scope is limited to a logical partition. Option E (Enforced referential integrity) is a relational strength, not a NoSQL advantage, since Cosmos DB does not enforce foreign key constraints.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Support for complex joins
Why it's wrong here
NoSQL databases store data in denormalized, aggregate-oriented structures such as JSON documents, and they intentionally avoid the JOIN operation because it couples data across collections and hinders elastic scalability. Complex relational queries across multiple entities require the database engine to correlate records using indexes and query plans, a capability native to relational systems but not a design goal of NoSQL. Therefore, supporting complex joins is an advantage of relational database management systems, not of NoSQL.
- ✗
ACID transactions across multiple records
Why it's wrong here
ACID guarantees ensure all operations in a multi-record transaction either commit or roll back atomically, maintaining isolation and durability. While some NoSQL systems offer single-item or single-partition atomicity, and Azure Cosmos DB supports transactional stored procedures within a partition, general cross-record, cross-partition ACID transactions are not a core NoSQL feature. Relational databases provide robust multi-row ACID transactions, making this a relational advantage rather than a NoSQL advantage.
- ✓
Flexible schema design
Why this is correct
NoSQL databases use a flexible, schema-less data model where each document or item can have its own set of attributes, and fields can be added, removed, or changed without running ALTER TABLE migrations or coordinating schema changes across the team. This flexibility supports evolving data shapes, rapid development cycles, and storing heterogeneous records in the same container, which is especially useful for IoT telemetry, user profiles, and content feeds. Because the database does not enforce a uniform structure, application code governs shape and validation.
- ✓
Horizontal scaling across multiple regions
Why this is correct
NoSQL platforms such as Azure Cosmos DB are engineered for horizontal scale-out: data is partitioned across many physical nodes, and the system can distribute replicas across multiple Azure regions for low-latency reads and writes close to users. Adding throughput or storage capacity is handled by scaling partitions elastically without downtime, and multi-region writes enable active-active configurations. Relational systems can also scale, but often require more manual sharding or read replicas, whereas NoSQL makes global distribution a first-class feature.
- ✗
Enforced referential integrity
Why it's wrong here
Referential integrity relies on foreign key constraints declared in a relational schema, ensuring every relationship points to an existing row and blocking orphan records. NoSQL databases generally do not enforce such constraints because collections or containers are independent, and relationships are often modeled by embedding data or using application-level references. Enforcing referential integrity across documents would require expensive coordination and conflict with the distributed, partition-tolerant design of NoSQL, so this is a relational database strength.
Go deeper
Related to this question
Learn chapter
Search Indexes and Full-Text Search Concepts
Key term
Foreign key
A foreign key is a column or set of columns in a database table that links to the primary key of another table, ensuring relational integrity between the two.
Key term
Data
Data is raw, unprocessed information, like numbers, words, or measurements, that can be stored, processed, and analyzed by computers.
About these practice questions
This DP-900 question is part of Courseiva's 851-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam 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.