Flashcard Deck · 25 cards · Public

Distributed Systems - Consistency Models & Replication Strategies

Master Distributed Systems Consistency Models & Replication Strategies with this comprehensive Notum flashcard deck. Dive deep into strong, eventual, causal, and sequential consistency, explore leader-follower, multi-leader, and quorum replication, and conquer the CAP theorem for robust distributed application design.

Cards in this deck

(25 cards)

Preview terms and definitions before starting your study session.

#1
Term
What is a Consistency Model in distributed systems?
Definition
A consistency model is a contract between a distributed system and its clients regarding the visibility and ordering of updates to replicated data. It defines how and when a client sees the updates made by other clients.
#2
Term
Define Strong Consistency, specifically Linearizability.
Definition
Linearizability is the strongest consistency model. It guarantees that all operations appear to occur instantaneously at some point between their invocation and response, as if there were only a single copy of the data. This means a read operation will always return the most recent written value, and operations are totally ordered.
#3
Term
Explain Eventual Consistency.
Definition
Eventual consistency is a weak consistency model where, if no new updates are made to a given data item, eventually all accesses to that item will return the last updated value. There might be a period of inconsistency after an update, but the system converges over time.
#4
Term
What is Causal Consistency?
Definition
Causal consistency guarantees that if one operation causally affects another (e.g., A writes, then B reads A's write and writes something else), then all nodes will see these causally related operations in the same order. Unrelated (concurrent) operations might be seen in different orders by different nodes.
#5
Term
Describe Sequential Consistency.
Definition
Sequential consistency guarantees that all operations appear to execute in some sequential order, and all nodes see this same sequential order. However, this order doesn't necessarily have to match the real-time order of operations. It's stronger than causal but weaker than linearizability.
#6
Term
Differentiate between Strong (Linearizability) and Eventual Consistency.
Definition
Strong consistency (e.g., Linearizability) ensures all clients see the most recent write immediately and in a global total order. Eventual consistency allows for temporary inconsistencies, where different clients might see different values after a write, but guarantees convergence to the same value eventually. Strong consistency prioritizes correctness over availability/performance, while eventual consistency prioritizes availability/performance.
#7
Term
Differentiate between Causal and Sequential Consistency.
Definition
Causal consistency preserves the order of causally related operations across all nodes, but concurrent operations can be seen in different orders. Sequential consistency ensures all operations (causal and concurrent) are seen in the same global total order by all nodes, but this order doesn't have to reflect real-time. Causal is weaker than sequential.
#8
Term
How does Read-Your-Writes consistency work?
Definition
Read-Your-Writes consistency guarantees that if a client performs a write and then subsequently performs a read, it will always see its own latest write. Other clients might not see it immediately, but the writing client is guaranteed to see its own updates.
Showing 8 of 25 cards in this deck.
Study All Now