SlideShare a Scribd company logo
1 of 23
Download to read offline
Reasoning about data and consistency in systems
Daniel Norman
CTO, güdTECH
unba.se contributor
Twitter: @DreamingInCode
Caveat emptor!
There is no silver bullet.
TL;DR
● Systems model the physical world
● Don’t annoy the humans
● Many of our systems are global
● We have to be available 24x7x365
● Mind-bending conceptual models of systems
● A view of a plausibly modern system
● No refunds
● Create a model of reality.
● Solve problems by performing computations thereon.
● Profit!
What are we trying to achieve?
Humans have certain expectations
We don’t like it when weird stuff happens – They get irritated.
● Well, do I have a new message or not?
● Why didn’t that save? Oh, it did save? Arghhh!
● Why is this so slow?
● What kind of lousy product is this?
● This should always be available, time is money!
Consistency model:
“A set of all histories of operations allowable under a system”1
In other words:
A contract between the programmer (or agent) and the system, which
provides a set of invariants to which the system will conform.
1. https://aphyr.com/posts/313-strong-consistency-models
● Linearizable
● Serializable
● Sequential
● Causal
● Eventual
● PRAM
● Read Your Writes
● Repeatable Read
● Monotonic Write
● Monotonic Read
● Write Follows Reads...
Some common consistency models
Linearizable Consistency
Eventual Consistency
Casual ConsistencyCausal Consistency
Reality is Causal
Hey, why not use wallclock?
I can use my system clock (AKA wallclock) to order my operations, right?
No.
Definitely NOT.
● NTP is notoriously unreliable
● Bad news: simultaneity isn’t actually a thing
● Time is actually weird and lumpy ( ask a physicist )
Advantages and Disadvantages
● Linearizable Strongly consistent, Single POV, May entail patience.
● Serializable Almost a single POV, allows modest concurrency, patience still required.
● Sequential Concurrent writers go nuts, ordering is arbitrary though, patience required for reads.
● Eventual Concurrent writers and no patience required! It’ll get applied, no promises when.
● Causal No patience required! No waiting for readers or writers, but no single POV either.
What consistency models do we really use?
“Linearizability / Serializability, obviously. End of presentation.”
But actually...
But Wait!
AWS MAGIC CASTLE TECHNOLOGY TO THE RESCUE!
Not so fast – AWS is pretty good, but we must still
reason about their consistency models:
● S3 Read after Write
● DynamoDB Eventual
● SQS Sequential or Linearizable
● Aurora / RDS Serializable
● FIFO makes my life easier
● It works around packet loss
● We’re accustomed to it’s foibles
Why do we like TCP?
● Single POV makes my life easier
● A central gatekeeper helps us ignore our other consistency models
● It works well in the small scale
Why do we like Serializable RDBMS?
It’s nice to avoid coordination, but:
● Incompatible with user’s worldview
● Requires ad-hoc consistency models as an overlay
Why isn’t eventual consistency your final answer?
● LieFi TCP linearizability gone wrong.
● Errant Promotion Asymmetries are problematic.
● Race conditions When two systems race head to head, you lose.
A few scenarios:
Concurrency is either something you’re dealing with,
or something you’re putting off. No exceptions.
Your system is distributed
Our limited comprehension of this complexity eventually leads to:
● Mysterious System Behaviors
● Inefficient Business Processes
● Lapses in Service
● Sadness
Causality is great when you can use it.
Wallclock baad!
Eventual Consistency is seductive, but problematic.
Consistency models are everywhere.
Be mindful of Linearizability / Serializability limitations.
Parting words:
Thank you!
Daniel Norman
CTO, güdTECH
unba.se contributor
Twitter: @DreamingInCode

More Related Content

Similar to Reasoning about data and consistency in systems

Scaling a Core Banking Engine Using Apache Kafka | Peter Dudbridge, Thought M...
Scaling a Core Banking Engine Using Apache Kafka | Peter Dudbridge, Thought M...Scaling a Core Banking Engine Using Apache Kafka | Peter Dudbridge, Thought M...
Scaling a Core Banking Engine Using Apache Kafka | Peter Dudbridge, Thought M...HostedbyConfluent
 
Distributed systems and consistency
Distributed systems and consistencyDistributed systems and consistency
Distributed systems and consistencyseldo
 
AMW43 - Unba.se, Distributed database for human interaction
AMW43 - Unba.se, Distributed database for human interactionAMW43 - Unba.se, Distributed database for human interaction
AMW43 - Unba.se, Distributed database for human interactionDaniel Norman
 
RESTEasy Reactive: Why should you care? | DevNation Tech Talk
RESTEasy Reactive: Why should you care? | DevNation Tech TalkRESTEasy Reactive: Why should you care? | DevNation Tech Talk
RESTEasy Reactive: Why should you care? | DevNation Tech TalkRed Hat Developers
 
My slides from SECR'2018
My slides from SECR'2018My slides from SECR'2018
My slides from SECR'2018Alex Chistyakov
 
Monitoring and automation
Monitoring and automationMonitoring and automation
Monitoring and automationRicardo Bánffy
 
Idi2018 - Serverless does not mean Opsless
Idi2018 - Serverless does not mean OpslessIdi2018 - Serverless does not mean Opsless
Idi2018 - Serverless does not mean OpslessLinuxaria.com
 
CQRS and Event Sourcing with PHP - shorter version
CQRS and Event Sourcing with PHP - shorter versionCQRS and Event Sourcing with PHP - shorter version
CQRS and Event Sourcing with PHP - shorter versionMarcelo Santos
 
Database Consistency Models
Database Consistency ModelsDatabase Consistency Models
Database Consistency ModelsSimon Ouellette
 
What drives Innovation? Innovations And Technological Solutions for the Distr...
What drives Innovation? Innovations And Technological Solutions for the Distr...What drives Innovation? Innovations And Technological Solutions for the Distr...
What drives Innovation? Innovations And Technological Solutions for the Distr...Stefano Fago
 
SANS Webinar: The Future of Log Centralization for SIEMs and DFIR – Is the En...
SANS Webinar: The Future of Log Centralization for SIEMs and DFIR – Is the En...SANS Webinar: The Future of Log Centralization for SIEMs and DFIR – Is the En...
SANS Webinar: The Future of Log Centralization for SIEMs and DFIR – Is the En...Anton Chuvakin
 
Scalable, good, cheap
Scalable, good, cheapScalable, good, cheap
Scalable, good, cheapMarc Cluet
 
Reversed Tests Pyramid - Agile Prague 2014
Reversed Tests Pyramid - Agile Prague 2014Reversed Tests Pyramid - Agile Prague 2014
Reversed Tests Pyramid - Agile Prague 2014Wiktor Żołnowski
 
The Professional Programmer
The Professional ProgrammerThe Professional Programmer
The Professional ProgrammerDave Cross
 
Voxxed Athens 2018 - Methods and Practices for Guaranteed Failure in Big Data
Voxxed Athens 2018 - Methods and Practices for Guaranteed Failure in Big DataVoxxed Athens 2018 - Methods and Practices for Guaranteed Failure in Big Data
Voxxed Athens 2018 - Methods and Practices for Guaranteed Failure in Big DataVoxxed Athens
 
CQRS and Event Sourcing with PHP
CQRS and Event Sourcing with PHPCQRS and Event Sourcing with PHP
CQRS and Event Sourcing with PHPMarcelo Santos
 

Similar to Reasoning about data and consistency in systems (20)

Scaling a Core Banking Engine Using Apache Kafka | Peter Dudbridge, Thought M...
Scaling a Core Banking Engine Using Apache Kafka | Peter Dudbridge, Thought M...Scaling a Core Banking Engine Using Apache Kafka | Peter Dudbridge, Thought M...
Scaling a Core Banking Engine Using Apache Kafka | Peter Dudbridge, Thought M...
 
Distributed systems and consistency
Distributed systems and consistencyDistributed systems and consistency
Distributed systems and consistency
 
AMW43 - Unba.se, Distributed database for human interaction
AMW43 - Unba.se, Distributed database for human interactionAMW43 - Unba.se, Distributed database for human interaction
AMW43 - Unba.se, Distributed database for human interaction
 
RESTEasy Reactive: Why should you care? | DevNation Tech Talk
RESTEasy Reactive: Why should you care? | DevNation Tech TalkRESTEasy Reactive: Why should you care? | DevNation Tech Talk
RESTEasy Reactive: Why should you care? | DevNation Tech Talk
 
My slides from SECR'2018
My slides from SECR'2018My slides from SECR'2018
My slides from SECR'2018
 
Cloud accounting software uk
Cloud accounting software ukCloud accounting software uk
Cloud accounting software uk
 
Monitoring and automation
Monitoring and automationMonitoring and automation
Monitoring and automation
 
Idi2018 - Serverless does not mean Opsless
Idi2018 - Serverless does not mean OpslessIdi2018 - Serverless does not mean Opsless
Idi2018 - Serverless does not mean Opsless
 
CQRS and Event Sourcing with PHP - shorter version
CQRS and Event Sourcing with PHP - shorter versionCQRS and Event Sourcing with PHP - shorter version
CQRS and Event Sourcing with PHP - shorter version
 
Database Consistency Models
Database Consistency ModelsDatabase Consistency Models
Database Consistency Models
 
What drives Innovation? Innovations And Technological Solutions for the Distr...
What drives Innovation? Innovations And Technological Solutions for the Distr...What drives Innovation? Innovations And Technological Solutions for the Distr...
What drives Innovation? Innovations And Technological Solutions for the Distr...
 
SANS Webinar: The Future of Log Centralization for SIEMs and DFIR – Is the En...
SANS Webinar: The Future of Log Centralization for SIEMs and DFIR – Is the En...SANS Webinar: The Future of Log Centralization for SIEMs and DFIR – Is the En...
SANS Webinar: The Future of Log Centralization for SIEMs and DFIR – Is the En...
 
Rust Primer
Rust PrimerRust Primer
Rust Primer
 
Scalable, good, cheap
Scalable, good, cheapScalable, good, cheap
Scalable, good, cheap
 
Reversed Tests Pyramid - Agile Prague 2014
Reversed Tests Pyramid - Agile Prague 2014Reversed Tests Pyramid - Agile Prague 2014
Reversed Tests Pyramid - Agile Prague 2014
 
The Professional Programmer
The Professional ProgrammerThe Professional Programmer
The Professional Programmer
 
Voxxed Athens 2018 - Methods and Practices for Guaranteed Failure in Big Data
Voxxed Athens 2018 - Methods and Practices for Guaranteed Failure in Big DataVoxxed Athens 2018 - Methods and Practices for Guaranteed Failure in Big Data
Voxxed Athens 2018 - Methods and Practices for Guaranteed Failure in Big Data
 
Magical monolith
Magical monolithMagical monolith
Magical monolith
 
Messaging
MessagingMessaging
Messaging
 
CQRS and Event Sourcing with PHP
CQRS and Event Sourcing with PHPCQRS and Event Sourcing with PHP
CQRS and Event Sourcing with PHP
 

Recently uploaded

Key Steps in Agile Software Delivery Roadmap
Key Steps in Agile Software Delivery RoadmapKey Steps in Agile Software Delivery Roadmap
Key Steps in Agile Software Delivery RoadmapIshara Amarasekera
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flinkconfluent
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfPros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfkalichargn70th171
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
oracle 23c new features for developer and dba
oracle 23c new features for developer and dbaoracle 23c new features for developer and dba
oracle 23c new features for developer and dbaRemote DBA Services
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
Revolutionize Your Video Editing with InVideo.io: A Comprehensive Review
Revolutionize Your Video Editing with InVideo.io: A Comprehensive ReviewRevolutionize Your Video Editing with InVideo.io: A Comprehensive Review
Revolutionize Your Video Editing with InVideo.io: A Comprehensive Reviewjw364beach
 
Explore the Three Main Types of Logistics - Inbound Logistics, Outbound Logis...
Explore the Three Main Types of Logistics - Inbound Logistics, Outbound Logis...Explore the Three Main Types of Logistics - Inbound Logistics, Outbound Logis...
Explore the Three Main Types of Logistics - Inbound Logistics, Outbound Logis...Piyovi
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...kalichargn70th171
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdfAndrey Devyatkin
 
The State of the Green IT at the beginning of 2024
The State of the Green IT at the beginning of 2024The State of the Green IT at the beginning of 2024
The State of the Green IT at the beginning of 2024Artur Skowroński
 
What is Mendix and the concept of low-code development.docx
What is Mendix and the concept of low-code development.docxWhat is Mendix and the concept of low-code development.docx
What is Mendix and the concept of low-code development.docxTechnogeeks
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
Mastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxMastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxAS Design & AST.
 
Advantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxAdvantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxRTS corp
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 

Recently uploaded (20)

Key Steps in Agile Software Delivery Roadmap
Key Steps in Agile Software Delivery RoadmapKey Steps in Agile Software Delivery Roadmap
Key Steps in Agile Software Delivery Roadmap
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flink
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfPros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
oracle 23c new features for developer and dba
oracle 23c new features for developer and dbaoracle 23c new features for developer and dba
oracle 23c new features for developer and dba
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
Revolutionize Your Video Editing with InVideo.io: A Comprehensive Review
Revolutionize Your Video Editing with InVideo.io: A Comprehensive ReviewRevolutionize Your Video Editing with InVideo.io: A Comprehensive Review
Revolutionize Your Video Editing with InVideo.io: A Comprehensive Review
 
Explore the Three Main Types of Logistics - Inbound Logistics, Outbound Logis...
Explore the Three Main Types of Logistics - Inbound Logistics, Outbound Logis...Explore the Three Main Types of Logistics - Inbound Logistics, Outbound Logis...
Explore the Three Main Types of Logistics - Inbound Logistics, Outbound Logis...
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
 
The State of the Green IT at the beginning of 2024
The State of the Green IT at the beginning of 2024The State of the Green IT at the beginning of 2024
The State of the Green IT at the beginning of 2024
 
What is Mendix and the concept of low-code development.docx
What is Mendix and the concept of low-code development.docxWhat is Mendix and the concept of low-code development.docx
What is Mendix and the concept of low-code development.docx
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
Mastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxMastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptx
 
Advantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxAdvantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptx
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 

Reasoning about data and consistency in systems

  • 1. Reasoning about data and consistency in systems Daniel Norman CTO, güdTECH unba.se contributor Twitter: @DreamingInCode
  • 2. Caveat emptor! There is no silver bullet.
  • 3. TL;DR ● Systems model the physical world ● Don’t annoy the humans ● Many of our systems are global ● We have to be available 24x7x365 ● Mind-bending conceptual models of systems ● A view of a plausibly modern system ● No refunds
  • 4. ● Create a model of reality. ● Solve problems by performing computations thereon. ● Profit! What are we trying to achieve?
  • 5. Humans have certain expectations We don’t like it when weird stuff happens – They get irritated. ● Well, do I have a new message or not? ● Why didn’t that save? Oh, it did save? Arghhh! ● Why is this so slow? ● What kind of lousy product is this? ● This should always be available, time is money!
  • 6. Consistency model: “A set of all histories of operations allowable under a system”1 In other words: A contract between the programmer (or agent) and the system, which provides a set of invariants to which the system will conform. 1. https://aphyr.com/posts/313-strong-consistency-models
  • 7. ● Linearizable ● Serializable ● Sequential ● Causal ● Eventual ● PRAM ● Read Your Writes ● Repeatable Read ● Monotonic Write ● Monotonic Read ● Write Follows Reads... Some common consistency models
  • 12. Hey, why not use wallclock? I can use my system clock (AKA wallclock) to order my operations, right? No. Definitely NOT. ● NTP is notoriously unreliable ● Bad news: simultaneity isn’t actually a thing ● Time is actually weird and lumpy ( ask a physicist )
  • 13. Advantages and Disadvantages ● Linearizable Strongly consistent, Single POV, May entail patience. ● Serializable Almost a single POV, allows modest concurrency, patience still required. ● Sequential Concurrent writers go nuts, ordering is arbitrary though, patience required for reads. ● Eventual Concurrent writers and no patience required! It’ll get applied, no promises when. ● Causal No patience required! No waiting for readers or writers, but no single POV either.
  • 14. What consistency models do we really use? “Linearizability / Serializability, obviously. End of presentation.”
  • 16. But Wait! AWS MAGIC CASTLE TECHNOLOGY TO THE RESCUE! Not so fast – AWS is pretty good, but we must still reason about their consistency models: ● S3 Read after Write ● DynamoDB Eventual ● SQS Sequential or Linearizable ● Aurora / RDS Serializable
  • 17. ● FIFO makes my life easier ● It works around packet loss ● We’re accustomed to it’s foibles Why do we like TCP?
  • 18. ● Single POV makes my life easier ● A central gatekeeper helps us ignore our other consistency models ● It works well in the small scale Why do we like Serializable RDBMS?
  • 19. It’s nice to avoid coordination, but: ● Incompatible with user’s worldview ● Requires ad-hoc consistency models as an overlay Why isn’t eventual consistency your final answer?
  • 20. ● LieFi TCP linearizability gone wrong. ● Errant Promotion Asymmetries are problematic. ● Race conditions When two systems race head to head, you lose. A few scenarios:
  • 21. Concurrency is either something you’re dealing with, or something you’re putting off. No exceptions. Your system is distributed Our limited comprehension of this complexity eventually leads to: ● Mysterious System Behaviors ● Inefficient Business Processes ● Lapses in Service ● Sadness
  • 22. Causality is great when you can use it. Wallclock baad! Eventual Consistency is seductive, but problematic. Consistency models are everywhere. Be mindful of Linearizability / Serializability limitations. Parting words:
  • 23. Thank you! Daniel Norman CTO, güdTECH unba.se contributor Twitter: @DreamingInCode