Courseiva

AZ-305 Design data storage solutions Practice Question

A global e-commerce company stores product catalog data in a JSON document format. The application requires low-latency reads and writes from multiple geographic regions. The solution must support multi-region writes with automatic conflict resolution and provide a guaranteed 99th percentile latency. Which Azure Cosmos DB API and consistency level should they choose?

⚠ Common exam trap

Watch out — candidates often assume Strong consistency is required for low-latency multi-region writes, but Strong consistency is incompatible with multi-region writes and would actually increase latency, while Session consistency provides the right balance of performance and guarantees.

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

✓

SQL API with Session consistency

The SQL API with Session consistency is correct because it supports multi-region writes with automatic conflict resolution using last-writer-wins (LWW) and provides a guaranteed 99th percentile latency. Session consistency is the most widely used level for globally distributed applications, offering read-your-writes guarantees while maintaining low latency across regions.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✓

    SQL API with Session consistency

    Why this is correct

    The SQL API is Cosmos DB's native JSON document data plane, making it the natural fit for product catalog records which are typically nested JSON objects with varying attributes. Session consistency is the default and most widely used consistency level because it gives each client a read-your-writes guarantee with low, predictable latency; this is exactly what an e-commerce session needs when a user updates their cart or profile. It avoids the overhead of strong consistency while preventing users from seeing inconsistent views of their own actions.

  • ✗

    Table API with Eventual consistency

    Why it's wrong here

    The Table API is a schemaless key-value store where data is accessed via a partition key and row key, not a document model; storing rich product catalogs with nested attributes would require denormalization into flat rows and loses the natural JSON structure. Eventual consistency offers no read-your-writes guarantee within a session, so a user might not see an item they just added to their cart, and product metadata updates could appear out of order. This combination is inadequate for an e-commerce product catalog that requires immediate consistency for a single user.

  • ✗

    SQL API with Strong consistency

    Why it's wrong here

    Strong consistency in Cosmos DB provides linearizable reads and writes by requiring replicas to acknowledge a write before it is acknowledged to the client, which adds significant write latency. It also cannot be configured when multi-region writes are enabled because strong consistency only supports a single write region, and in a globally distributed e-commerce scenario this creates both a latency bottleneck and a regional failover trade-off. Session consistency gives the same single-client guarantees at a fraction of the cost and is the standard choice for interactive workloads.

  • ✗

    MongoDB API with Bounded staleness consistency

    Why it's wrong here

    The MongoDB API does store BSON documents and would be a plausible document choice, but Bounded staleness is configured with a maximum lag (time or operations) that writes must propagate before reads are guaranteed to reflect them; within that window a user can still read stale data, so it does not provide immediate read-your-writes. Bounded staleness also requires replicas to track a global watermark, adding coordination overhead and higher latency than the session-level token mechanism. For an e-commerce catalog, Session consistency is the preferred level because it ties guarantees to the user's session rather than a global bound.

About these practice questions

This AZ-305 question is part of Courseiva's 795-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 AZ-305 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 AZ-305 exam.