▲ | ijaym 5 days ago | |||||||||||||||||||||||||||||||||||||
The majority of the content reminds me of Bigtable (https://static.googleusercontent.com/media/research.google.c...). Do people really distinguish "Strong Eventual Consistency" from "Eventual Consistency"? To me, when I say "Eventual Consistency" I alwayes mean "Strong Eventual Consisteny". | ||||||||||||||||||||||||||||||||||||||
▲ | nl 5 days ago | parent | next [-] | |||||||||||||||||||||||||||||||||||||
(Non-Strong) Eventual Consistency does not guarantee that all replicas converge in a specific time period. In an eventually consistent system replicas can diverge. A "last write" system can be eventually consistent, but a given point can read differently. Eg: operations 1) Add "AA" to end of string 2) Split string in middle Replicas R1 and R2 both have the string "ZZZZ" If R1 sees operations (1) then (2) it will get "ZZZZAA", then "ZZZ", "ZAA" If R2 sees (2) then (1) it will get: "ZZ", "ZZ", then "ZZAA", "ZZ". Strong Eventual Consistency doesn't have this problem because the operations have the time vector on them so the replicas know what order to apply them. | ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
▲ | simiones 5 days ago | parent | prev [-] | |||||||||||||||||||||||||||||||||||||
I think there are a lot of systems that have a separate node syncing feature, where two nodes can receive updates, apply them to their local replica right away, and only communicate them and reconcile with the other backend nodes at a later time. |