incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jonathan Ellis <jbel...@gmail.com>
Subject Re: Scaling from 1 to x (was: one server or more servers?)
Date Fri, 17 Jul 2009 21:10:12 GMT
On Fri, Jul 17, 2009 at 3:58 PM, Vijay<vijay2win@gmail.com> wrote:
> Still confused,
>
> If i have a Quorum Write with block for to be 3 and 2 of them are alive i
> will write to 3 nodes with HH right?

yes, but only 2 will be available for reads, so the 3rd can't count
towards fulfulling block_for.

the semantics of block_for on read (R) and write (W) are that you have
strong consistency if R + W >= N where N is number of replicas.  (see
http://www.allthingsdistributed.com/2007/12/eventually_consistent.html)

For this to hold in cassandra, we need to provide consistency where
(for instance) W = N and R = 1.  Remember that a HH write is not
available for reads.  This means that we need to fail the write if we
can't write the full N replicas to the right nodes.

(This is why quorum write + quorum read is often a better tradeoff in
practice since you can tolerate node failures w/o losing
availability.)

-Jonathan

> During query it will fail if i only have block for to be 3?
>
> Regards,
> </VJ>
>
>
>
>
> On Fri, Jul 17, 2009 at 1:36 PM, Jonathan Ellis <jbellis@gmail.com> wrote:
>>
>> ck_for to zero, then writes will indeed never fail
>> (unless the node the client is ta
>

Mime
View raw message