SlideShare a Scribd company logo
1 of 28
Storage Consistency in
Distributed Systems
Alejandro Flores & Husain Al Yusuf
UNM College of Engineering
Agenda
• Storage Consistency
• Storage Consistency in Distributed Systems
• Consistency, Performance, & Availability
• Guarantee classes for reading operations
• Analogy of consistency guarantee classes
• Real Word Application
• Conclusion
What is Storage Consistency ?
What is the Problem ?
• Data Availability
• Geographically
Distributed
Customers
Need
• Geographically
Distributed
Datacenters
• Storage
Distribution
Install
Inconsistent
Read/Write
Operations
Problem
What is the Problem ? Cont.
California
Canada UK
China
Brazil
What is the Solution ?
California
Canada UK
China
Brazil
Consistency vs Performance vs Availability
Consistency
PerformanceAvailability
Strength of Consistency Guarantees
ReadOperationLatency
SuccessfulReadwithStorageFailure
Strength of Consistency Guarantees
“The strength of consistency
guarantee does not depend when
and how writes propagate between
servers but rather is defined by the
size of the set of allowable results
for a read operation. “
Classes of Reading Operations
• Strong Consistency
• Eventually Consistency
• Consistent Prefix
• Bounded Staleness
• Monotonic Reads
• Read My Writes
Classes of Reading Operations
Strong Consistency (Read Latest Value)
• Guarantees a read operation returns the value
that was last written for a give object.
• Read observes the effects of all previously
completed writes.
Classes of Reading Operations
Eventually Consistent (Worst Consistency)
• Read operations can return any value for a data
object that was written in the past.
• Possible result of read operation are subset of
previous writes.
• If the client stops performing writes the read
operation would eventually return an object’s
latest value.
Classes of Reading Operations
Consistency Prefix (Snapshot)
• Reader operation takes a snapshot of an object.
• Reader sees one specific valid version out of
multiple versions in the data store
• Best option when:
– reading multiple data objects.
– write operations incrementally update an object.
Classes of Reading Operations
Bounded Staleness (Not Older Than T Minutes)
• Ensures read results are NOT too out of date.
• Bound the result of read operation to be NOT
older than T amount of time.
Classes of Reading Operations
Monotonic Reads (Session Guarantee)
• Multiple read operation in one session.
• Later read operation will return same or more
recent value.
• Best option when
– sequence of read operations performed by same
client .
Classes of Reading Operations
Read My Writes (Read My Latest Writes)
• Becomes “Strongly Consistency” if read operation is
performed on object that WAS written by the same client.
• Becomes “Eventual Consistency” if read operation is
performed on object the WAS NOT written by the same
client.
• Best option when
– Sequence of read/write operations performed by a single
client .
Baseball Analogy
1.Read current score
2. +1 to current score.
3.Write new score
Baseball Analogy
• Official Scorekeeper
• Umpire
• Radio Reporter
• Sportswriter
• Statistician
• Stat Watcher
Official Scorekeeper
• Requirements:
Read the most up-to-date previous score before
Then Write the new score.
• Consistency Guarantee Option(s):
1. Strong consistency
2. Read my write
Umpire
• Requirements:
Access the score in the top half of the 9th inning (last
inning).
• Consistency Guarantee Option(s):
Strong consistency read
Radio Sports Reporter
• Consistency Guarantee Option(s):
1) Monotonic reads & Consistency prefix
2) Bounded staleness read with bound of 30 min or less.
• Requirements:
Might need to report every 30 minutes but does
not have to be the latest score.
Sportswriter
• Consistency Guarantee Option(s):
1. Strong consistency (Too expensive).
2. Bounded staleness read bounded by an hour. In theory
any server should be able to provide final scores.
3. Potentially eventual consistency might work too.
Requirements:
Does not need the latest score but does
need to report accurate final score.
Statistician
• Requirements:
Keeping track of season long statistics for the team and individual
players. Must enter current seasons score to previous season total.
• Consistency Guarantee Option(s):
1. Strong consistency read
2. Bounded staleness read
3. Read my Write
Stat Watcher
• Requirements:
Periodically checks on team’s seasons statistics.
• Consistency Guarantee Option(s):
Eventually consistency
Real World Application
Paper Conclusion
• There are more consistency guarantees besides the
one listed in the paper.
• The ideas was to provide accurate results by balancing
performance and availability.
• Note that multiple consistency can be used to achieve
the goal.
• The correct consistency guarantee should be based on
the client needs.
References
By Doug Terry…
“Replicated Data Consistency Explained
Through Baseball”,
From Communication of the ACM, December 2013
Any Questions ?

More Related Content

Similar to Storage Consistency for ECE536

Select Stars: A DBA's Guide to Azure Cosmos DB (Chicago Suburban SQL Server U...
Select Stars: A DBA's Guide to Azure Cosmos DB (Chicago Suburban SQL Server U...Select Stars: A DBA's Guide to Azure Cosmos DB (Chicago Suburban SQL Server U...
Select Stars: A DBA's Guide to Azure Cosmos DB (Chicago Suburban SQL Server U...Bob Pusateri
 
Select Stars: A SQL DBA's Introduction to Azure Cosmos DB (SQL Saturday Orego...
Select Stars: A SQL DBA's Introduction to Azure Cosmos DB (SQL Saturday Orego...Select Stars: A SQL DBA's Introduction to Azure Cosmos DB (SQL Saturday Orego...
Select Stars: A SQL DBA's Introduction to Azure Cosmos DB (SQL Saturday Orego...Bob Pusateri
 
Podila mesos con-northamerica_sep2017
Podila mesos con-northamerica_sep2017Podila mesos con-northamerica_sep2017
Podila mesos con-northamerica_sep2017Sharma Podila
 
Scaling apps for the big time
Scaling apps for the big timeScaling apps for the big time
Scaling apps for the big timeproitconsult
 
Load Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWSLoad Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWSVladimir Ilic
 
Performance testing
Performance testingPerformance testing
Performance testingJyoti Babbar
 
Performance Testing Java Applications
Performance Testing Java ApplicationsPerformance Testing Java Applications
Performance Testing Java ApplicationsC4Media
 
cse40822-CAP.pptx
cse40822-CAP.pptxcse40822-CAP.pptx
cse40822-CAP.pptxNedaaHamed1
 
Performance Issue? Machine Learning to the rescue!
Performance Issue? Machine Learning to the rescue!Performance Issue? Machine Learning to the rescue!
Performance Issue? Machine Learning to the rescue!Maarten Smeets
 
Jenkins review buddy
Jenkins review buddyJenkins review buddy
Jenkins review buddyAske Olsson
 
AWS Kinesis - Streams, Firehose, Analytics
AWS Kinesis - Streams, Firehose, AnalyticsAWS Kinesis - Streams, Firehose, Analytics
AWS Kinesis - Streams, Firehose, AnalyticsSerhat Can
 
Petabytes and Nanoseconds
Petabytes and NanosecondsPetabytes and Nanoseconds
Petabytes and NanosecondsRobert Greiner
 
Pnuts yahoo!’s hosted data serving platform
Pnuts  yahoo!’s hosted data serving platformPnuts  yahoo!’s hosted data serving platform
Pnuts yahoo!’s hosted data serving platformlammya aa
 
Load testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerLoad testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerAndrew Siemer
 
Case study on Performance Profiling of Software for Financial Services
Case study on Performance Profiling of Software for Financial ServicesCase study on Performance Profiling of Software for Financial Services
Case study on Performance Profiling of Software for Financial ServicesOak Systems
 
AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...
AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...
AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...Amazon Web Services
 
Patterns of Distributed Application Design
Patterns of Distributed Application DesignPatterns of Distributed Application Design
Patterns of Distributed Application DesignGlobalLogic Ukraine
 
Adressing requirements with agile practices
Adressing requirements with agile practicesAdressing requirements with agile practices
Adressing requirements with agile practicesfboisvert
 
Cassandra and drivers
Cassandra and driversCassandra and drivers
Cassandra and driversBen Bromhead
 
Agile Mumbai 2020 Conference | How to get the best ROI on Your Test Automati...
Agile Mumbai 2020 Conference |  How to get the best ROI on Your Test Automati...Agile Mumbai 2020 Conference |  How to get the best ROI on Your Test Automati...
Agile Mumbai 2020 Conference | How to get the best ROI on Your Test Automati...AgileNetwork
 

Similar to Storage Consistency for ECE536 (20)

Select Stars: A DBA's Guide to Azure Cosmos DB (Chicago Suburban SQL Server U...
Select Stars: A DBA's Guide to Azure Cosmos DB (Chicago Suburban SQL Server U...Select Stars: A DBA's Guide to Azure Cosmos DB (Chicago Suburban SQL Server U...
Select Stars: A DBA's Guide to Azure Cosmos DB (Chicago Suburban SQL Server U...
 
Select Stars: A SQL DBA's Introduction to Azure Cosmos DB (SQL Saturday Orego...
Select Stars: A SQL DBA's Introduction to Azure Cosmos DB (SQL Saturday Orego...Select Stars: A SQL DBA's Introduction to Azure Cosmos DB (SQL Saturday Orego...
Select Stars: A SQL DBA's Introduction to Azure Cosmos DB (SQL Saturday Orego...
 
Podila mesos con-northamerica_sep2017
Podila mesos con-northamerica_sep2017Podila mesos con-northamerica_sep2017
Podila mesos con-northamerica_sep2017
 
Scaling apps for the big time
Scaling apps for the big timeScaling apps for the big time
Scaling apps for the big time
 
Load Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWSLoad Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWS
 
Performance testing
Performance testingPerformance testing
Performance testing
 
Performance Testing Java Applications
Performance Testing Java ApplicationsPerformance Testing Java Applications
Performance Testing Java Applications
 
cse40822-CAP.pptx
cse40822-CAP.pptxcse40822-CAP.pptx
cse40822-CAP.pptx
 
Performance Issue? Machine Learning to the rescue!
Performance Issue? Machine Learning to the rescue!Performance Issue? Machine Learning to the rescue!
Performance Issue? Machine Learning to the rescue!
 
Jenkins review buddy
Jenkins review buddyJenkins review buddy
Jenkins review buddy
 
AWS Kinesis - Streams, Firehose, Analytics
AWS Kinesis - Streams, Firehose, AnalyticsAWS Kinesis - Streams, Firehose, Analytics
AWS Kinesis - Streams, Firehose, Analytics
 
Petabytes and Nanoseconds
Petabytes and NanosecondsPetabytes and Nanoseconds
Petabytes and Nanoseconds
 
Pnuts yahoo!’s hosted data serving platform
Pnuts  yahoo!’s hosted data serving platformPnuts  yahoo!’s hosted data serving platform
Pnuts yahoo!’s hosted data serving platform
 
Load testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerLoad testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew Siemer
 
Case study on Performance Profiling of Software for Financial Services
Case study on Performance Profiling of Software for Financial ServicesCase study on Performance Profiling of Software for Financial Services
Case study on Performance Profiling of Software for Financial Services
 
AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...
AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...
AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...
 
Patterns of Distributed Application Design
Patterns of Distributed Application DesignPatterns of Distributed Application Design
Patterns of Distributed Application Design
 
Adressing requirements with agile practices
Adressing requirements with agile practicesAdressing requirements with agile practices
Adressing requirements with agile practices
 
Cassandra and drivers
Cassandra and driversCassandra and drivers
Cassandra and drivers
 
Agile Mumbai 2020 Conference | How to get the best ROI on Your Test Automati...
Agile Mumbai 2020 Conference |  How to get the best ROI on Your Test Automati...Agile Mumbai 2020 Conference |  How to get the best ROI on Your Test Automati...
Agile Mumbai 2020 Conference | How to get the best ROI on Your Test Automati...
 

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

Storage Consistency for ECE536

  • 1. Storage Consistency in Distributed Systems Alejandro Flores & Husain Al Yusuf UNM College of Engineering
  • 2. Agenda • Storage Consistency • Storage Consistency in Distributed Systems • Consistency, Performance, & Availability • Guarantee classes for reading operations • Analogy of consistency guarantee classes • Real Word Application • Conclusion
  • 3. What is Storage Consistency ?
  • 4. What is the Problem ? • Data Availability • Geographically Distributed Customers Need • Geographically Distributed Datacenters • Storage Distribution Install Inconsistent Read/Write Operations Problem
  • 5. What is the Problem ? Cont. California Canada UK China Brazil
  • 6. What is the Solution ? California Canada UK China Brazil
  • 7. Consistency vs Performance vs Availability Consistency PerformanceAvailability Strength of Consistency Guarantees ReadOperationLatency SuccessfulReadwithStorageFailure
  • 8. Strength of Consistency Guarantees “The strength of consistency guarantee does not depend when and how writes propagate between servers but rather is defined by the size of the set of allowable results for a read operation. “
  • 9. Classes of Reading Operations • Strong Consistency • Eventually Consistency • Consistent Prefix • Bounded Staleness • Monotonic Reads • Read My Writes
  • 10. Classes of Reading Operations Strong Consistency (Read Latest Value) • Guarantees a read operation returns the value that was last written for a give object. • Read observes the effects of all previously completed writes.
  • 11. Classes of Reading Operations Eventually Consistent (Worst Consistency) • Read operations can return any value for a data object that was written in the past. • Possible result of read operation are subset of previous writes. • If the client stops performing writes the read operation would eventually return an object’s latest value.
  • 12. Classes of Reading Operations Consistency Prefix (Snapshot) • Reader operation takes a snapshot of an object. • Reader sees one specific valid version out of multiple versions in the data store • Best option when: – reading multiple data objects. – write operations incrementally update an object.
  • 13. Classes of Reading Operations Bounded Staleness (Not Older Than T Minutes) • Ensures read results are NOT too out of date. • Bound the result of read operation to be NOT older than T amount of time.
  • 14. Classes of Reading Operations Monotonic Reads (Session Guarantee) • Multiple read operation in one session. • Later read operation will return same or more recent value. • Best option when – sequence of read operations performed by same client .
  • 15. Classes of Reading Operations Read My Writes (Read My Latest Writes) • Becomes “Strongly Consistency” if read operation is performed on object that WAS written by the same client. • Becomes “Eventual Consistency” if read operation is performed on object the WAS NOT written by the same client. • Best option when – Sequence of read/write operations performed by a single client .
  • 16.
  • 17. Baseball Analogy 1.Read current score 2. +1 to current score. 3.Write new score
  • 18. Baseball Analogy • Official Scorekeeper • Umpire • Radio Reporter • Sportswriter • Statistician • Stat Watcher
  • 19. Official Scorekeeper • Requirements: Read the most up-to-date previous score before Then Write the new score. • Consistency Guarantee Option(s): 1. Strong consistency 2. Read my write
  • 20. Umpire • Requirements: Access the score in the top half of the 9th inning (last inning). • Consistency Guarantee Option(s): Strong consistency read
  • 21. Radio Sports Reporter • Consistency Guarantee Option(s): 1) Monotonic reads & Consistency prefix 2) Bounded staleness read with bound of 30 min or less. • Requirements: Might need to report every 30 minutes but does not have to be the latest score.
  • 22. Sportswriter • Consistency Guarantee Option(s): 1. Strong consistency (Too expensive). 2. Bounded staleness read bounded by an hour. In theory any server should be able to provide final scores. 3. Potentially eventual consistency might work too. Requirements: Does not need the latest score but does need to report accurate final score.
  • 23. Statistician • Requirements: Keeping track of season long statistics for the team and individual players. Must enter current seasons score to previous season total. • Consistency Guarantee Option(s): 1. Strong consistency read 2. Bounded staleness read 3. Read my Write
  • 24. Stat Watcher • Requirements: Periodically checks on team’s seasons statistics. • Consistency Guarantee Option(s): Eventually consistency
  • 26. Paper Conclusion • There are more consistency guarantees besides the one listed in the paper. • The ideas was to provide accurate results by balancing performance and availability. • Note that multiple consistency can be used to achieve the goal. • The correct consistency guarantee should be based on the client needs.
  • 27. References By Doug Terry… “Replicated Data Consistency Explained Through Baseball”, From Communication of the ACM, December 2013