Describe the differences among strong consistency, eventual consistency, and causal consistency with examples.

Prepare for the Veritas Qualifying Exam with comprehensive quizzes featuring multiple-choice questions, detailed explanations, and useful tips. Master the exam material and boost your confidence!

Multiple Choice

Describe the differences among strong consistency, eventual consistency, and causal consistency with examples.

Explanation:
In distributed systems, these terms describe how reads see writes across multiple replicas and how much waiting or coordination is needed to achieve a consistent view. Strong consistency means reads always reflect the most recent write, as if there’s a single, instantly visible value across all replicas. In practice this is like a bank balance update: after you transfer funds, a balance check shows the updated amount immediately, no stale data. Eventual consistency allows for temporary divergence: a write may take time to propagate, so a read might return an older value on some replicas. But if no new writes occur, all replicas will eventually converge to the same value. A common example is DNS caching or a social app’s feed where updates become consistent after a short delay. Causal consistency enforces order for related operations: if one write causally affects another, reads must reflect that order. However, there’s no requirement for a global clock or a single global order for unrelated operations, and there can be propagation delays. A helpful example is editing a document where a change that introduces a reference should be visible before the reference itself; unrelated edits to different parts of the document can appear in different orders on different replicas. The best description among the choices emphasizes that strong consistency keeps reads in line with the latest writes, eventual consistency allows updates to propagate over time, and causal consistency ensures causal relationships are observed in order while permitting delays in visibility.

In distributed systems, these terms describe how reads see writes across multiple replicas and how much waiting or coordination is needed to achieve a consistent view.

Strong consistency means reads always reflect the most recent write, as if there’s a single, instantly visible value across all replicas. In practice this is like a bank balance update: after you transfer funds, a balance check shows the updated amount immediately, no stale data.

Eventual consistency allows for temporary divergence: a write may take time to propagate, so a read might return an older value on some replicas. But if no new writes occur, all replicas will eventually converge to the same value. A common example is DNS caching or a social app’s feed where updates become consistent after a short delay.

Causal consistency enforces order for related operations: if one write causally affects another, reads must reflect that order. However, there’s no requirement for a global clock or a single global order for unrelated operations, and there can be propagation delays. A helpful example is editing a document where a change that introduces a reference should be visible before the reference itself; unrelated edits to different parts of the document can appear in different orders on different replicas.

The best description among the choices emphasizes that strong consistency keeps reads in line with the latest writes, eventual consistency allows updates to propagate over time, and causal consistency ensures causal relationships are observed in order while permitting delays in visibility.

Subscribe

Get the latest from Passetra

You can unsubscribe at any time. Read our privacy policy