Perfectly right Nick.
 
So i suppose that If I want to keep RandomPartionner ( I understand this is the best for high volume applications), I could design database like this :
 
A CF with key = UUID  will contain log message details => allows me to split real data  evenly between nodes
 
A CF with key = 'Date'  and columns name are UUIDs (UUID sorted) => allow me to get last X logs of the day and data are approximately well distributed...
 
Many thanks,
yaw
 
 
2010/7/3 Микола Стрєбков <nick@mykola.org>
On 02.07.10 16:10, yaw wrote:
> Hi all,
> I'd like to store logs of my application into cassandra.
>
> I need to query logs by date (last X logs) or  user (give me last X logs
> for  user Y )  and I want to dispatch data among several servers.
>
>
> I think  the best design way  is  following :
>
> Each  log identifier is a time based UUID.
>
>
> A CF with key = UUID /  *Random Partitioner*  will contain log message
> => allows me to split real data  evenly between nodes
>
> A CF with key = UUID   and *order*-*preserving partitioner * allow me to
> get last X logs
>
> A CF with key = userID   and columns name are UUIDs (UUID sorted) =>
> allow me to get last X logs  of user Y
>
> Am I right ?

No: you can have only one partitioner per cluster. See:

http://ria101.wordpress.com/2010/02/22/cassandra-randompartitioner-vs-orderpreservingpartitioner/

http://arin.me/blog/wtf-is-a-supercolumn-cassandra-data-model

--
Mykola Stryebkov
Blog: http://mykola.org/blog/
Public key: http://mykola.org/pubkey.txt
fpr: 0226 54EE C1FF 8636 36EF 2AC9 BCE9 CFC7 9CF4 6747