Describe considerations for working with non-relational data on Azure →mediumMultiple ChoiceObjective-mapped
Azure Cosmos DB Session Consistency for User Feed
A social media application uses Azure Cosmos DB to store user posts. When a user publishes a new post, they immediately refresh their feed and expect to see their own post right away. However, the application can tolerate temporary staleness for posts from other users. Which Azure Cosmos DB consistency level should the app use for the read operations that display the feed?
Quick Answer
The answer is Session consistency. This is the correct choice because Session consistency guarantees read-your-writes, monotonic reads, and monotonic writes within a single client session, ensuring that when a user publishes a new post, their own feed refresh immediately displays that post, while still allowing temporary staleness for posts from other users. On the Microsoft Azure Data Fundamentals DP-900 exam, this scenario tests your understanding of how consistency levels map to real-world application requirements, with Session being the most common trap for those who might incorrectly choose Strong or Eventual—remember, Strong would be overkill and hurt performance, while Eventual would not guarantee the user sees their own post right away. A helpful memory tip: think of Session as “my session, my writes first”—it’s the perfect balance for user-specific immediacy without global overhead.
⚠ Common exam trap
The trap here is that candidates often pick Eventual consistency because they see 'tolerate temporary staleness' and forget that the user's own post must be immediately visible, which requires at least read-your-writes — a guarantee that Session consistency provides but Eventual does not.
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
✓
Session
Session consistency guarantees monotonic reads, writes, and read-your-writes within a single client session. Because the user expects to see their own post immediately after publishing, but can tolerate staleness for others' posts, Session consistency provides the exact guarantee needed: the user's own writes are immediately visible to them, while other users' posts may be slightly stale.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Strong
Why it's wrong here
Strong consistency provides linearizability for all reads, but it comes with higher latency and availability trade-offs. It is overkill for this scenario because the application only needs immediate consistency for the user's own posts.
When this WOULD be correct
A financial trading application that requires real-time accuracy for all transactions, where any stale data could lead to incorrect decisions or regulatory violations, would use Strong consistency to ensure every read reflects the most recent write.
- ✗
Bounded staleness
Why it's wrong here
Bounded staleness allows reads to lag behind writes by a defined time interval or number of versions. While it can be tuned, it does not guarantee immediate visibility of the user's own writes within the same session without additional session context.
When this WOULD be correct
A financial trading application requires reads to be within a maximum staleness of 5 seconds and 100 updates, but can tolerate some delay. Bounded staleness would be correct because it provides a predictable lag bound while offering higher availability than strong consistency.
- ✓
Session
Why this is correct
Session consistency guarantees that within the same client session, reads will see the latest writes. This means the user will always see their own post immediately, while reads of other users' posts may be stale. This is the most cost-effective and correct choice.
- ✗
Eventual
Why it's wrong here
Eventual consistency provides no ordering guarantee. A user might not see their own latest post immediately after a refresh, which violates the requirement.
When this WOULD be correct
An application that displays trending topics or aggregated analytics where immediate consistency is not required and high availability and low latency are prioritized would correctly use Eventual consistency.
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.
✓SessionCorrect answer▾
Why this is correct
Session consistency guarantees that within the same client session, reads will see the latest writes. This means the user will always see their own post immediately, while reads of other users' posts may be stale. This is the most cost-effective and correct choice.
✗StrongWrong answer — click to see why▾
Why this is wrong here
Strong consistency would force all reads to see the latest write, but the application only needs immediate consistency for the user's own posts, not for all posts. Strong consistency also increases latency and reduces availability, which is unnecessary for this use case.
★ When this WOULD be the correct answer
A financial trading application that requires real-time accuracy for all transactions, where any stale data could lead to incorrect decisions or regulatory violations, would use Strong consistency to ensure every read reflects the most recent write.
Why candidates choose this
Candidates may think that because the user expects to see their own post immediately, the application needs the highest consistency level, overlooking that session consistency provides this guarantee within the same session without the overhead of strong consistency.
✗Bounded stalenessWrong answer — click to see why▾
Why this is wrong here
Bounded staleness allows a configurable lag (time or updates), but the app needs immediate consistency for the user's own posts, which session guarantees. Bounded staleness could still show stale data for the user's own post if the lag isn't zero, violating the requirement.
★ When this WOULD be the correct answer
A financial trading application requires reads to be within a maximum staleness of 5 seconds and 100 updates, but can tolerate some delay. Bounded staleness would be correct because it provides a predictable lag bound while offering higher availability than strong consistency.
Why candidates choose this
Candidates may think bounded staleness offers a good balance between consistency and performance, but they overlook that the user's own post must be immediately visible, which session consistency guarantees by using the same session token.
✗EventualWrong answer — click to see why▾
Why this is wrong here
Eventual consistency does not guarantee that the user's own post is immediately readable after write, which contradicts the requirement that the user sees their own post right away upon refresh.
★ When this WOULD be the correct answer
An application that displays trending topics or aggregated analytics where immediate consistency is not required and high availability and low latency are prioritized would correctly use Eventual consistency.
Why candidates choose this
Candidates may assume that because the app can tolerate staleness for others' posts, eventual consistency is sufficient, overlooking the need for immediate read-your-writes for the user's own posts.
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
Consistency level
Consistency level is a setting in Azure data services that determines how quickly and accurately data is synchronized across multiple copies in a distributed system.
Key term
Azure Cosmos DB
Azure Cosmos DB is a fully managed, globally distributed NoSQL database service that offers fast reads and writes anywhere in the world with automatic scaling and multiple consistency models.
About these practice questions
This DP-900 question is part of Courseiva's 820-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 →
Same concept, more angles
1 more way this is tested on DP-900
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. A social networking application uses Azure Cosmos DB to store user posts. When a user publishes a new post, they immediately refresh their feed and expect to see their own post. However, the application can tolerate temporary staleness for posts from other users (e.g., a few seconds delay). Which Azure Cosmos DB consistency level should the application use for read operations that display the feed?
medium- A.Strong
- B.Bounded staleness
- ✓ C.Session
- D.Eventual
Why C: Session consistency is the correct choice because it guarantees that the user who writes a post will read their own write within the same session, while allowing other users to see slightly stale data. This matches the requirement: the author immediately sees their new post, but the application can tolerate a few seconds of staleness for other users' posts. Session consistency uses a session token to ensure monotonic reads and writes for the same client, making it ideal for per-user feed scenarios.
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.