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. >