In this case you only neem the columns for values. You don't need the column-values to hold multiple columns (the super-column principle). So a normal CF would work.
2012/3/26 Ben McCann <b...@benmccann.com> > Thanks for the reply Samal. I did not realize that you could store a > column with null value. Do you know if this solution would work with > composite columns? It seems super columns are being phased out in favor of > composites, but I do not understand composites very well yet. I'm trying > to figure out if there's any way to accomplish what you've suggested using > Astyanax <https://github.com/Netflix/astyanax>. > > Thanks for the help, > Ben > > > On Mon, Mar 26, 2012 at 8:46 AM, samal <samalgo...@gmail.com> wrote: > >> plus it is fully compatible with CQL. >> SELECT * FROM UserSkill WHERE KEY='ben'; >> >> >> On Mon, Mar 26, 2012 at 9:13 PM, samal <samalgo...@gmail.com> wrote: >> >>> I would take simple approach. create one other CF "UserSkill" with row >>> key same as profile_cf key, >>> In user_skill cf will add skill as column name and value null. Columns >>> can be added or removed. >>> >>> UserProfile={ >>> '*ben*'={ >>> blah :blah >>> blah :blah >>> blah :blah >>> } >>> } >>> >>> UserSkill={ >>> '*ben*'={ >>> 'java':'' >>> 'cassandra':'' >>> . >>> . >>> . >>> 'linux':'' >>> 'skill':'infinity' >>> >>> } >>> >>> } >>> >>> >>> On Mon, Mar 26, 2012 at 12:34 PM, Ben McCann <b...@benmccann.com> wrote: >>> >>>> I have a profile column family and want to store a list of skills in >>>> each profile. In BigTable I could store a Protocol >>>> Buffer<http://code.google.com/apis/protocolbuffers/docs/overview.html>with >>>> a repeated field, but I'm not sure how this is typically accomplished >>>> in Cassandra. One option would be to store a serialized >>>> Thrift<http://thrift.apache.org/>or protobuf, but I'd prefer not to do >>>> this as I believe Cassandra doesn't >>>> have knowledge of these formats, and so the data in the datastore would not >>>> not human readable in CQL queries from the command line. The other >>>> solution I thought of would be to use a super column and put a random UUID >>>> as the key for each skill: >>>> >>>> skills: { >>>> '4b27c2b3ac48e8df': 'java', >>>> '84bf94ea7bc92018': 'c++', >>>> '9103b9a93ce9d18': 'cobol' >>>> } >>>> >>>> Is this a good way of handling lists in Cassandra? I imagine there's >>>> some idiom I'm not aware of. I'm using the >>>> Astyanax<https://github.com/Netflix/astyanax/wiki>client library, which >>>> only supports composite columns instead of super >>>> columns, and so the solution I proposed above would seem quite awkward in >>>> that case. Though I'm still having some trouble understanding composite >>>> columns as they seem not to be completely documented yet. Would this >>>> solution work with composite columns? >>>> >>>> Thanks, >>>> Ben >>>> >>>> >>> >> > -- With kind regards, Robin Verlangen www.robinverlangen.nl