|
|
|
|
|
by devit
3122 days ago
|
|
Correct database implementations must be strongly consistent, unless your updates all commute with each other, in which case eventual consistency works. E.g. db[key] += value and db[key].insert(value) commute with themselves, but db[key] = value obviously doesn't. This just seems to be an attempt to implement a correct eventually consistent database, and the CRDTs are simply datatypes with commutative update operations. Unfortunately, it seems to allow transactions that examine objects and then (conditionally) update them, which obviously are not guaranteed to be commutative even if the objects are commutative, so maybe it doesn't succeed at implementing a correct database. |
|