Serializability

Important Reading to help understand: https://jepsen.io/consistency Notes A - Atomicity (All or nothing of a transaction) C - Consistency (Consistent with the constraints on database tables) I - Isolation D - Durability (Handling reboots/failures) Isolation 3 types of dependencies that can help determine serializability - Write - Write Dependency Write - Read Dependency Read - Write Dependency (Anti dependency) Anti Dependency: An anti-dependency, also known as write-after-read (WAR), occurs when an instruction requires a value that is later updated. In the following example, instruction 2 anti-depends on instruction 3 — the ordering of these instructions cannot be changed, nor can they be executed in parallel (possibly changing the instruction ordering), as this would affect the final value of A. ...

Fork-join Consistency

Notes Causal consistency and logical timestamps Logical Timestamps(Lamport timestamps) don’t imply causal consistency 13) Causal Consistency, COPS#Causal

Causal Consistency

Notes Requirements for consistencies Linearizability Global ordering Completion to Invocation globally Sequential Global ordering Completion to Invocation per client Causal Completion to invocation per client Write and then later read dependency Transitivity for 1) #Causal and 2) #Causal Fork-join Causal Eventual