cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Prescod <pres...@gmail.com>
Subject Re: questions about consistency
Date Wed, 21 Apr 2010 10:33:05 GMT
I'm not an expert, so take what I say with a grain of salt.

2010/4/21 Даниел Симеонов <dsimeonov@gmail.com>:
> Hello,
>    I am pretty new to Cassandra and I have some questions, they may seem
> trivial, but still I am pretty new to the subject. First is about the lack
> of a compareAndSet() operation, as I understood it is not supported
> currently in Cassandra, do you know of use cases which really require such
> operations and how these use cases currently workaround this .

I think your question is paradoxical. If the use case really requires
the operation then there is no workaround by definition. The existence
of the workaround implies that the use case really did not require the
operation.

Anyhow, vector clocks are probably relevant to this question and your next one.

> Second topic I'd like to discuss a little bit more is about the read repair,
> as I understand is that it is being done by the timestamps supplied by the
> client application servers. Since computer clocks (which requires
> synchronization algorithms working regularly) diverge there should be a time
> frame during which the order of the client request written to the database
> is not guaranteed, do you have real world experiences with this? Is this
> similar to the casual consistency (
> http://en.wikipedia.org/wiki/Causal_consistency ) .What happens if two
> application servers try to update the same data and supply one and the same
> timestamp (it could happen although rarely), what if they try to update
> several columns in batch operation this way, is there a chance that the
> column value could be intermixed between the two update requests?

All of this is changing with vector clocks in Cassandra 0.7.

https://issues.apache.org/jira/browse/CASSANDRA-580

> I have one last question about the consistency level ALL, do you know of
> real use cases where it is required (instead of QUORUM) and why (both read
> and write)?

It would be required when your business rules do not allow any client
to read the old value. For example if it would be illegal to provide
an obsolete stock value.

> Thank you very much for your help to better understand 'Cassandra'!
> Best regards, Daniel.
>

Mime
View raw message