0% found this document useful (0 votes)
72 views12 pages

Data-Centric Consistency Models

This document outlines the course on Distributed Computing, focusing on data-centric consistency models in distributed systems. It covers definitions, key models, advantages, disadvantages, implementation techniques, and real-world examples of consistency models. The document also distinguishes between client-centric and data-centric models, providing guidance on when to use each type.

Uploaded by

hope98754
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
72 views12 pages

Data-Centric Consistency Models

This document outlines the course on Distributed Computing, focusing on data-centric consistency models in distributed systems. It covers definitions, key models, advantages, disadvantages, implementation techniques, and real-world examples of consistency models. The document also distinguishes between client-centric and data-centric models, providing guidance on when to use each type.

Uploaded by

hope98754
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

COURSE NAME : DISTRIBUTED COMPUTING

COURSE CODE : 22CS4106

TOPICS : DATA-CENTRIC CONSISTENCY MODELS


AIM OF THE SESSION

To introduce students to various data-centric


consistency models in distributed systems and
understand how each model impacts data visibility,
performance, and correctness.
• INSTRUCTIONAL OBJECTIVES
Define and differentiate between major data-
centric consistency models.

Explain the effects of each model on system


behavior and application performance.

LEARNING OUTCOMES
Define various data-centric consistency models
used in distributed systems.

Differentiate between strict, linearizability,


sequential, causal, and eventual consistency.
DATA-CENTRIC CONSISTENCY
Definition:
• A consistency model that defines system-wide rules for how updates propagate and
become visible across replicas in a distributed system.

Focus:
• Ensures all clients, regardless of location or session, observe data in a predictable
and consistent manner globally.

Importance:
• Critical for systems requiring coordinated views across all users, especially in
financial, transactional, or safety-critical applications.
KEY MODELS
Strong Consistency (Linearizability)
Every read sees the most recent write across the entire system. Behaves like a
single up-to-date copy.
Sequential Consistency
All operations from all clients are executed in a sequential order, though not
necessarily real-time.
Causal Consistency
Operations that are causally related are seen by all clients in the same order.
Eventual Consistency
In the absence of new writes, all replicas converge to the same state eventually.
CHALLENGES IN IMPLEMENTATION
• Trade-offs with CAP Theorem (Consistency, Availability,
Partition Tolerance).
• Network delays and partitions can disrupt real-time
synchronization.
• Write conflicts in concurrent update scenarios.
• High overhead for synchronization and coordination among
replicas.
• Requires sophisticated algorithms for global ordering and
conflict resolution (e.g., Paxos, Raft).
• Complexity increases with geo-replication and multi-region
ADVANTAGES & DISADVANTAGES OF DATA-CENTRIC MODELS

Advantages:
• Reliable and Predictable System Behavior: Suitable for applications needing strict correctness.

• Consistency for All Users: All clients see the same data at the same time.

• Simplifies Application Logic: Less need for app-level conflict resolution.

• Data Integrity Guarantees: Prevents anomalies like stale reads or lost updates.

Disadvantages:
• Lower Availability in Partitions: Due to strong consistency constraints.

• Performance Overhead: Coordination and synchronization between nodes introduce latency.

• Not Always Scalable: More difficult to scale under strict consistency requirements.

• Rigid Guarantees: May not be necessary or optimal for all types of applications (e.g., social media).
TECHNIQUES TO IMPLEMENT CLIENT-CENTRIC
CONSISTENCY
• Quorum-Based Replication: Ensures a majority of nodes agree before
reads/writes are accepted.
• Consensus Protocols (e.g., Paxos, Raft): Maintain agreement on
operation order across nodes.
• Global Clocks / Vector Clocks: Track causality and versioning of data
across replicas.
• Conflict-Free Replicated Data Types (CRDTs): Automatically resolve
conflicts in an eventually consistent way.
• Anti-Entropy Mechanisms: Background processes to reconcile
differences between replicas.
REAL-WORLD EXAMPLES

• Strong Consistency – Banking systems, inventory management,


stock trading platforms.
• Sequential Consistency – Distributed databases with ordered
transaction logs.
• Causal Consistency – Collaborative tools (e.g., Google Docs
editing).
• Eventual Consistency – DNS systems, CDN edge caches,
Amazon S3, Couchbase.
WHEN TO USE WHAT?

Use Client-Centric Consistency when:


• The system is eventually consistent and prioritizes user experience.
• Users expect their changes to reflect immediately (e.g., social media,
chats).
Use Data-Centric Consistency when:
Your application needs accurate, real-time global data (e.g., banking,
stock trading).
Data integrity and transaction correctness are critical.
CLIENT-CENTRIC VS. DATA-CENTRIC MODELS
Feature/Aspect Client-Centric Consistency Data-Centric Consistency

Perspective Individual client/session-level guarantees System-wide/global guarantees

Focus UX-focused: ensures user sees their own updates Data integrity and global correctness

Consistency Type Weaker (Monotonic, Read-Your-Writes, etc.) Stronger (Strong, Causal, Eventual, etc.)

Implementation Requires session tracking, local caching Requires coordination between all nodes

Performance High (less coordination needed) May be slower (due to global sync and consensus)

Availability Higher (works even if disconnected) Lower (especially during network partitions)

Use Cases Social apps, messaging, collaborative editing Banking, stock trading, inventory systems

Handled via consensus, versioning, or replication


Conflict Handling More client-side or session-level conflict risk
algorithms
REFERENCES FOR FURTHER LEARNING OF THE SESSION

• Designing Data-Intensive Applications – Martin Kleppmann (Ch. 9)

• Distributed Systems – Coulouris et al.

• CAP Theorem Explained

• Google Spanner Paper

• AWS DynamoDB Consistency Docs


THANK YOU

Team – Distributed Computing

You might also like