Re:Keeping CALM: when distributed consistency is easy
by oggy on Thursday March 07, 2019 @09:43AM
(#19328357)
You're comparing apples to oranges. If read coordination can be avoided (and it often can, even in systems with consensus), whether you stick a cache on the client or not is completely orthogonal to whether the system uses consensus for write operations.
[ Parent
| on HN ]
Re:Keeping CALM: when distributed consistency is easy
by zzzcpan on Thursday March 07, 2019 @10:08AM
(#19328569)
Think about it, if you read from a replica that is partitioned from the rest of the system and there is no coordination, how would the replica or the client know that the value replica returns is too old and therefore breaks strong consistency guarantee?
Re:Keeping CALM: when distributed consistency is easy
by oggy on Friday March 08, 2019 @01:06PM
(#19340225)
No, you don't get linearizability of all operations, you might not even read your earlier writes - but the whole point is that you sometimes don't need these guarantees for reads. You get a consistent snapshot read, and that's often good enough. You can get an idea of how recent the snapshot is based on timestamps, but "recent" is hard to define in a distributed system.
Re:Keeping CALM: when distributed consistency is easy
by zzzcpan on Friday March 08, 2019 @01:38PM
(#19340604)
> but the whole point is that you sometimes don't need these guarantees for reads.
If that was your point, than sure. If you drop consistency, you can drop coordination too. But typically people expect reads to be consistent in consensus based systems, which requires coordination.