Thanks to samal who pointed to look at the composite columns. I am now using composite columns names containing username+userId & valueless column. Thus column names are now unique even for users with same name as userId is also attached to the same composite col name. Thus the supercolumn issue is resolved.
I think you can but I am not sure, I haven't tried that yet, Nothing harm in keeping value also it will be read in single query only.
In 2nd case, yes 2 or more query required to get specific user details. As username is map to user_id's key(unique like UUID) and user_id key store actual details.
On Wed, Nov 16, 2011 at 11:10 AM, Aditya Narayan <email@example.com> wrote:Regarding the first option that you suggested through composite columns, can I store the username & id both in the column name and keep the column valueless?
Will I be able to retrieve both the username and id from the composite col name ?Thanks a lotOn Wed, Nov 16, 2011 at 10:56 AM, Aditya Narayan <firstname.lastname@example.org> wrote:
Got the first option that you suggested.However, In the second one, are you suggested to use, for e.g, key='Marcos' & store cols, for all users of that name, containing userId inside that row. That way it would have to read multiple rows while user is doing a single search.
On Wed, Nov 16, 2011 at 10:47 AM, samal <email@example.com> wrote:> 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 ?
Have you any given thought on Composite columns . I think it can help you solve your problem of multiple user with same name.
you can try wide rows indexing user name to ID's