On Thu, Feb 3, 2011 at 11:27 AM, Aditya Narayan <adynnn@gmail.com> wrote:
Hey all,

I want to store some columns that are reminders to the users on my
application, in time sorted order in a row(timeline row of the user).

Would it be recommended to store these reminder columns in the
timeline row with column names like: combination of timestamp(of time
when the reminder gets due) + UserId+ Reminders Count of that user;
Column Name= <TimestampOfDueTimeInFuture>: <UserId> : <ReminderCountOfThisUser>

If you have one row by user (which is a good idea), why keep the UserId in
the column name ?
Then what comparator could I use to sort them in order of the their
due time ? This comparator should be able to sort no. in descending
order.(I guess ascii type would do the opposite order) (Reminders need
to be sorted in the timeline in the order of their due time.)

*The* solution is write a custom comparator.
Have a look at http://www.datastax.com/docs/0.7/data_model/column_families 
and http://www.sodeso.nl/?p=421 for instance.
As a side note, the fact that the comparator sort in ascending order when you
need descending order would be that much of a problem, since you can always
do slice queries in reversed order. But even then, asciiType is not a very
satisfying solution as you would have to be careful about the padding of your 
timestamp for it to work correctly. So again, custom comparator is the way
to go.

Basically I am trying to avoid 16 bytes long timeUUID first because
they are too long and the above defined key pattern is guaranteeing me
a unique key/Id for the reminder row always.

Aditya Narayan