incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "cbertu81@libero.it" <cbert...@libero.it>
Subject R: Re: Counters and Top 10
Date Sun, 25 Dec 2011 11:15:59 GMT
Hi all,
I've red all your messages concerning the top 10 ... any solution is possibile 
but I still did not find the best one.

Using a composite Column Name as suggested would be smart cause it brings to a 
sorted row where I can have my top-10 in any moment but it can slow down all 
the platform since, for every operation, I have to read data from cassandra, 
calculate and store data back. Using counters I could just say "hey, +1 on 
this" and forget. But using counters I don't have any kind of value-sorting ...

I know redis but I think it's too much to use a new key-value db just for this 
sorting ... I think I'll use a thread that run every X to generate the top10 
row ... it won't be realtime but at least it will keep platform performance to 
a good level.

Thank you all and merry christmas

>----Messaggio originale----
>Da: benoit@noisette.ch
>Data: 25/12/2011 10.19
>A: <user@cassandra.apache.org>
>Ogg: Re: Counters and Top 10
>
>With Composite Column Name, you can even have column composed of sore
>(int) and userid (uuid or whatever). Empty column value to avoid
>repeating user UUID.
>
>
>2011/12/22 R. Verlangen <robin@us2.nl>:
>> I would suggest you to create a CF with a single row (or multiple for
>> historical data) with a date as key (utf8, e.g. 2011-12-22) and multiple
>> columns for every user's score. The column (utf8) would then be the score +
>> something unique of the user (e.g. hex representation of the TimeUUID). The
>> value would be the TimeUUID of the user.
>>
>> By default columns will be sorted and you can perform a slice to get the 
top
>> 10.
>>
>> 2011/12/14 cbertu81@libero.it <cbertu81@libero.it>
>>
>>> Hi all,
>>> I'm using Cassandra in production for a small social network (~10.000
>>> people).
>>> Now I have to assign some "credits" to each user operation (login, write
>>> post
>>> and so on) and then beeing capable of providing in each moment the top 10
>>> of
>>> the most active users. I'm on Cassandra 0.7.6 I'd like to migrate to a new
>>> version in order to use Counters for the user points but ... what about
>>> the top
>>> 10?
>>> I was thinking about a specific ROW that always keeps the 10 most active
>>> users
>>> ... but I think it would be heavy (to write and to handle in thread-safe
>>> mode)
>>> ... can counters provide something like a "value ordered list"?
>>>
>>> Thanks for any help.
>>> Best regards,
>>>
>>> Carlo
>>>
>>>
>>
>
>
>
>-- 
>sent from my Nokia 3210
>



Mime
View raw message