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