You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Paul Prescod <pr...@gmail.com> on 2010/04/06 21:27:10 UTC
Consistent counters (was: Memcached protocol)
I *believe* that the key messages of those blog posts was:
1. Using distributed vector clocks are easy once they are implemented.
2. Implementing distributed vector clocks is hard on the datastore vendor.
3. If you have long-term network partitions you're kind of screwed (which
is probably true in any case)
Do you agree that those are the key points?
Or to put it another way: if you are willing to give up one of availability
or partition-tolerance, then do you agree that 100% "eventually consistent
counters" are possible?
And if so, is it your plan that "eventually consistent counters" be possible
in a future version of Cassandra?
On Tue, Apr 6, 2010 at 8:52 AM, Jonathan Ellis <jb...@gmail.com> wrote:
> On Mon, Apr 5, 2010 at 6:48 PM, Tatu Saloranta <ts...@gmail.com>
> wrote:
> > I would think that there is also possibility of losing some
> > increments, or perhaps getting duplicate increments?
> > It is not just isolation but also correctness that is hard to maintain
> > but correctness also. This can be more easily worked around in cases
> > where there is additional data that can be used to resolve potentially
> > ambiguous changes (like inferring which of shopping cart additions are
> > real, which duplicates).
> > With more work I am sure it is possible to get things mostly working,
> > it's just question of cost/benefit for specific use cases.
>
> Let me inject a couple useful references:
>
> http://pl.atyp.us/wordpress/?p=2601
> http://blog.basho.com/2010/04/05/why-vector-clocks-are-hard/
>
Re: Consistent counters (was: Memcached protocol)
Posted by Jonathan Ellis <jb...@gmail.com>.
On Tue, Apr 6, 2010 at 2:27 PM, Paul Prescod <pr...@gmail.com> wrote:
> I *believe* that the key messages of those blog posts was:
> 1. Using distributed vector clocks are easy once they are implemented.
> 2. Implementing distributed vector clocks is hard on the datastore vendor.
> 3. If you have long-term network partitions you're kind of screwed (which
> is probably true in any case)
I think this is not a problem in practice, where "long term" means
hours not weeks.
> And if so, is it your plan that "eventually consistent counters" be possible
> in a future version of Cassandra?
Yes, that is the main reason Digg is working on 580.
-Jonathan