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 >