One approach is to ask yourself questions as to how you would use this information, for example
Depending on that one approach might work better than other. I have not used indexes/non id based searches (do not have that use case) in Cassandra yet, so this is just based on time I have spend reading about it.

One approach using indexes was given by Jool, the other approach is using reverse indexes

Even with the other suggestion of indexes you can still add the tag->users.



On Wed, Dec 22, 2010 at 4:54 AM, Prasad Sunkari <s.prasad@gmail.com> wrote:

Hi all,

I have a column family for users of my system and I need to have tags set to these users.  My current plan is to have a column that holds a string (comma separated tags).

I am not clear if this the best way to do it.  Specially because this may lead to a complications when more than one administrator is trying to tag the same user (lost updates) as well as the secondary indexes (if I wanted to use the built in secondary indexes).  I also am not sure if it is possible to have a secondary index on a multi-valued column!

Another alternative is to have it in a super column with each tag being a column by itself and let my application take care of the secondary indexes.

I am currently of the opinion that the second solution is the only thing that I could do.
Any suggestions?  Since this is my first app on Cassandra I am trying to see if my opinion is correct.

Thanks,
Prasad