> > > If you use N=3, W=3, R=1 in Cassandra, you
> > > should get similar behavior
> > > to HBase/HDFS with respect to consistency
> > > and availability
> >
> > My understanding is that R=1 does not guarantee that you won't see
> > different versions of the data in different reads, in some scenarios.
>
> Since this is fairly off-topic at this point, I'll keep it short.
> The simple rule for Dynamo goes like this: if (R+W>N && W>=Quorum),
> then you're guaranteed a consistent result always.

Ok, I'll concede this point rather than go really off-topic with conjecture 
about corner cases, especially given I'm not a Cassandra expert by any means 
and could simply be mistaken.

However this is still not quite HBase-equivalent consistency. HBase can provide 
CAS operations and atomic counters because only one regionserver at a time can 
mediate operations on a given row.
 
Best regards,

    - Andy

Problems worthy of attack prove their worth by hitting back. - Piet Hein (via 
Tom White)

    From: Time Less <timelessn...@gmail.com>
    To: user@hbase.apache.org; Andrew Purtell <apurt...@apache.org>
    Sent: Wednesday, August 31, 2011 1:47 PM
    Subject: Re: HBase and Cassandra on StackOverflow

    > > If you use N=3, W=3, R=1 in Cassandra, you
    > should get similar behavior
    > > to HBase/HDFS with respect to consistency
    > and availability
    >
    > My understanding is that R=1 does not guarantee that you won't see
    > different versions of the data in different reads, in some scenarios. 
There
    > was an excellent Quora answer in this regard, I don't remember it offhand,
    > perhaps you can find the link to it or someone can provide it to you.
    >

    Since this is fairly off-topic at this point, I'll keep it short. The simple
    rule for Dynamo goes like this: if (R+W>N && W>=Quorum), then you're
    guaranteed a consistent result always. You get eventual consistency if
    W>=Quorum. If W<Quorum, then you can get inconsistent data that must be
    detected/fixed by readers (often using timestamps or similar techniques).
    Joe is right, enforcing (W=3, R=1, N=3) on a Dynamo system gives the same
    (provably identical?) behaviour as HBase, with respect to consistency.

    -- 
    Tim Ellis
    Data Architect, Riot Games

Reply via email to