cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oleg Anastasyev <>
Subject Re: Does Cassandra use vector clocks
Date Wed, 23 Feb 2011 09:32:41 GMT
> Basically: vector clocks tell you there was a conflict, but not how to
> resolve it (that is, you simply don't have enough information to
> resolve it even if you push that back to the client a la Dynamo).
> What dynamo-like systems mostly VC for is the trivial case of "client
> X updated field 1, client Y updated field 2, so I can resolve that
> into a merged value containing both updates."  But Cassandra already
> handles that by splitting the row up into column-per-field, so VC
> doesn't add anything for us.

Still, vector clocks are very useful in read-modify-update scenarios. In these
scenarios cassandra requies external pessimistic locking servers, which makes
cassandra almost unusable for these scenarios, because of introduced latency,
especially when you have low concurrency for a single column, where optimistic
locking is a perfect fit.

View raw message