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

Reply via email to