Courseiva

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.

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 →

How Courseiva writes practice questions · Editorial policy

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.