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.
Go deeper
Related to this question
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 →
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.