Thanks Aaron,

Yes I can put the column names without using the userId in the
timeline row, and when I want to retrieve the row corresponding to
that column name, I will attach the userId to get the row key.

Yes I'll store it as a long & I guess I'll have to write with a custom
comparator type (ReversedIntegerType) to sort those longs in
descending order.

Regards
Aditya


On Sat, Feb 5, 2011 at 6:24 AM, aaron morton <aa...@thelastpickle.com> wrote:
> IMHO If you know the time of the event use store the time as a long, rather 
> than a UUID. It will make it easier to get back to a
> time and make it easier for you to compare columns. TimeUUIDS has a pseudo 
> random part as well as the time part, it could be set to a constant. By why 
> bother if you know the absolute time.
>
> I'm not sure what the ReminderCountOfThisUser is for, and as Sylvain says 
> there is no need for the user name if this is in a row just for the user.
>
> Hope that helps.
> Aaron
>
> On 4 Feb 2011, at 01:32, Aditya Narayan wrote:
>
>> If I use : <TimestampOfDueTimeInFuture>: <UserId> : <ReminderCountOfThisUser>
>> as key pattern for the rows of reminders, then I am storing the key,
>> just as it is, as the column name and thus column values  need not
>> contain a link to the row containing the reminder details.
>>
>> I think UserId would be required along with timestamp in the key
>> pattern to provide uniqueness to the key as there may be several
>> reminders generated by users on the application, at the same time.
>>
>> But my question is about whether it is really advisable to even
>> generate the keys like this pattern ... instead of going with
>> timeuuids ?
>> Are there are any downsides which I am not perhaps not aware of ?
>>
>>
>>
>> On Thu, Feb 3, 2011 at 5:43 PM, Sylvain Lebresne <sylv...@datastax.com> 
>> wrote:
>>> On Thu, Feb 3, 2011 at 11:27 AM, Aditya Narayan <ady...@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.
>>>>
>>>>
>>>> Thanks
>>>> Aditya Narayan
>>>
>>> --
>>> Sylvain
>
>

Reply via email to