>>- support for atomic operations or batches (if QUORUM fails, data should
not be visible with ONE) 
>zookeeper is solving that.

Yeah, I can use HBase too.

I might have screwed up a little bit since I didn't talk about isolation;
let's reformulate: support for read committed (using DB terminology).
Cassandra is more like read uncommitted.
Even if row mutations in one CF for one key are atomic on one server , stuff
is not rolled back when the CL can't be satisfied at the coordinator level.
Data won't be visible at QUORUM level, but when using weaker CL, invalid
data can appear imho.
Also it should be possible to tell which operations failed with batch_mutate
but unfortunately it is not.

HBase has a clear semantic on mutations
(http://hbase.apache.org/acid-semantics.html), maybe a similar page could be
written to tell the way Cassandra is handling this. I don't know if some
materials already exists in the wiki, but I can try to write something about
this.

Anyway, all in all, I'd like to see read committed appears at some point in
Cassandra. The way Cassandra is working might render this a bit hard to
introduce - but anyway, I'm just expressing my own feedback on this even if
this is far away from the weak consistency Cassandra offer.

>> - TTL on CF, rows and counters
> TTL on counters will be nice, but i am good with rest as it is

Actually, counters have to be handle specifically to work around the non TTL
support. This would be nice to unify storage capabilities.

While talking about counters, I will add to the wish list the capability to
mix normal columns with counter columns in the same CF allowing easy
dropping of a row or atomic mutations on one row.


Reply via email to