cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Edward Capriolo <edlinuxg...@gmail.com>
Subject Re: cassandra for a inbox search with high reading qps
Date Wed, 18 Aug 2010 03:13:30 GMT
On Tue, Aug 17, 2010 at 10:55 PM, Chen Xinli <chen.daqi@gmail.com> wrote:
> Hi,
>
> We are going to use cassandra for searching purpose like inbox search.
> The reading qps is very high, we'd like to use ConsitencyLevel.One for
> reading and disable read-repair at the same time.
>
> For reading consistency in this condition, the writing should use
> ConsistencyLevel.ALL. But the writing will fail if one node fails.
> We want such a ConsistencyLevel for writing/reading that :
> 1. writing will success if there is node alive for this key
> 2. reading will not forward to a node that's just recovered and doing hinted
> handoff
>
> So that, if some node fails, others nodes for replica will receive the data
> and surve reading successfully;
> when the failure node recovers,  it will receive hinted handoff from other
> nodes and it'll not surve reading until hinted handoff is done.
>
> Does cassandra support the cases already? or should I modify the code to
> meet our requirements?
>
> Thanks for any advices!
>
> --
> Best Regards,
> Chen Xinli
>

>>The reading qps is very high, we'd like to use ConsitencyLevel.One for reading and
disable read-repair at the same time.
You can not disable read repair, all reads no matter the
ConsistencyLevel always repair. The CL only controls how many nodes to
read from before returning data to the client.

These two statements contradict.
> For reading consistency in this condition, the writing should use ConsistencyLevel.ALL.
But the writing will fail if one node fails.
> 1. writing will success if there is node alive for this key

Also regardless of the write ConsistencyLevel all writes are written
to all nodes. If a target node is down HintedHandoff will queue the
write up for when the node restarts * in (6.3 you can turn off Hinted
Handoff)

You may want to WRITE QUORUM, READ.ONE, with RF=3 you would need two
failed nodes before seeing an UnavailableException. You still have
pretty strong consistency (depending how you look at it) and fast
reads.

Check the IRC logs Ben "schooled" me over this a couple of days ago.

Mime
View raw message