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

Reply via email to