Consistency
this is covered in database internals book
- definition
- consistency models: linearizability, sequential, causal, eventual (mention strong eventual/crdts here)
- add a diagram with stronger->weaker and a tree of models/submodels and systems that implement it
cap (and its problems)
summarize conjecture explain problems of the theorem give precise meaning to terms: partition compared with failures from ch 1; consistency compared with models from previous section. (maybe) minor side note about relation between FLP and CAP explain what's its actual value in tradeoff analysis for system design
distributed transactions/2-phase commit
TODO: see basic consensus implementations from next chapters, may not be the best idea to introduce this here
https://www.the-paper-trail.org/post/2008-11-27-consensus-protocols-two-phase-commit/
[CODE SAMPLES HERE]
2PC can be thought of a solution to consensus, but it's not an interesting one because it's not fault tolerant (cannot tolerate crashes of the coordinator) (it can also be used to solve a different problem than consensus, i.e. saving different things in different nodes vs replicating the same value in consensus, see eg spanner that uses both 2pc and paxos.) for fault tolerance we need more sophisticated consensus protocols, introduced next chapter