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