cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dan Washusen <...@reactive.org>
Subject Re: Atomicity Strategies
Date Sat, 09 Apr 2011 03:58:30 GMT
Here's a good writeup on how fightmymonster.com does it...

http://ria101.wordpress.com/category/nosql-databases/locking/

-- 
Dan Washusen
Make big files fly
visit digitalpigeon.com

On Saturday, 9 April 2011 at 11:53 AM, Alex Araujo wrote:
On 4/8/11 5:46 PM, Drew Kutcharian wrote:
> > I'm interested in this too, but I don't think this can be done with Cassandra alone.
Cassandra doesn't support transactions. I think hector can retry operations, but I'm not sure
about the atomicity of the whole thing.
> > 
> > 
> > 
> > On Apr 8, 2011, at 1:26 PM, Alex Araujo wrote:
> > 
> > > Hi, I was wondering if there are any patterns/best practices for creating atomic
units of work when dealing with several column families and their inverted indices.
> > > 
> > > For example, if I have Users and Groups column families and did something like:
> > > 
> > > Users.insert( user_id, columns )
> > > UserGroupTimeline.insert( group_id, { timeuuid() : user_id } )
> > > UserGroupStatus.insert( group_id + ":" + user_id, { "Active" : "True" } )
> > > UserEvents.insert( timeuuid(), { "user_id" : user_id, "group_id" : group_id,
"event_type" : "join" } )
> > > 
> > > Would I want the client to retry all subsequent operations that failed against
other nodes after n succeeded, maintain an "undo" queue of operations to run, batch the mutations
and choose a strong consistency level, some combination of these/others, etc?
> > > 
> > > Thanks,
> > > Alex
> Thanks Drew. I'm familiar with lack of transactions and have read about 
> people using ZK (possibly Cages as well?) to accomplish this, but since 
> it seems that inverted indices are common place I'm interested in how 
> anyone is mitigating lack of atomicity to any extent without the use of 
> such tools. It appears that Hector and Pelops have retrying built in to 
> their APIs and I'm fairly confident that proper use of those 
> capabilities may help. Just trying to cover all bases. Hopefully 
> someone can share their approaches and/or experiences. Cheers, Alex.
> 

Mime
View raw message