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 Микола Стрєбков <n...@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
>

Reply via email to