incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From samal <samalgo...@gmail.com>
Subject Re: Seeking advice on Schema and Caching
Date Wed, 16 Nov 2011 05:17:48 GMT
>  > I need to add 'search users' functionality to my application. (The
>> trigger for fetching searched items(like google instant search) is made
>> when 3 letters have been typed in).
>> >
>> > For this, I make a CF with String type keys. Each such key is made of
>> first 3 letters of a user's name.
>> >
>> > Thus all names starting with 'Mar-' are stored in single row (with
>> key="Mar").
>> > The column names are framed as remaining letters of the names. Thus, a
>> name 'Marcos' will be stored within rowkey "Mar" & col name "cos". The id
>> will be stored as column value. Since there could be many users with same
>> name. Thus I would have multple userIds(of users named "Marcos") to be
>> stored inside columnname "cos" under key "Mar". Thus,
>> >
>> > 1. Supercolumn seems to be a better fit for my use case(so that ids of
>> users with same name may fit as sub-columns inside a super-column) but
>> since supercolumns are not encouraged thus I want to use an alternative
>> schema for this usecase if possible. Could you suggest some ideas on this ?
>> >
>>
>
Aditya,

Have you any given thought on Composite columns [1]. I think it can help
you solve your problem of multiple user with same name.

mar:{
  {cos,unique_user_id}:unique_user_id,
  {cos,1}:1,
  {cos,2}:2,
  {cos,3}:3,

//  {utf8,timeUUID}:timeUUID,
}
OR
you can try wide rows indexing user name to ID's

marcos{
   user1:' ',
   user2:' ',
   user3:' '
}

[1]http://www.slideshare.net/edanuff/indexing-in-cassandra

Mime
View raw message