It seems to me you may want to revisit the design(but not 100% sure as I am not 
sure I understand the entire context) a bit as I could see having partitions 
and a few clients that poll in each partition so you can scale to infinity 
basically with no issues.  If you are doing all this polling from one machine, 
it just won't scale very well.

playOrm does this for you but the basic pattern you can do yourself without 
playOrm would be….

Row 1
Row 2
Row 3
Row 4

Index row for partition 1 - <val>.row1, <val>.row4
Index row for partition 2 - <val>.row2, <val>.row3
…

Now each server is responsible for polling / scanning it's partitions index 
rows above.  If you have 2 servers and 2 partitions, each one would column scan 
the above index rows and then lookup the actual rows.  If it is unbalanced like 
5 severs and 28 partitions, you can use hash code of partition of course and 
number of servers to figure out if server owns that partition are not for 
polling.

All of this is automatic in playOrm with S-JQL (Scalable-JQL – one minor change 
to SQL to make it scalable).

Later,
Dean



From: Edward Kibardin <infa...@gmail.com<mailto:infa...@gmail.com>>
Reply-To: "user@cassandra.apache.org<mailto:user@cassandra.apache.org>" 
<user@cassandra.apache.org<mailto:user@cassandra.apache.org>>
Date: Thursday, August 30, 2012 2:14 PM
To: "user@cassandra.apache.org<mailto:user@cassandra.apache.org>" 
<user@cassandra.apache.org<mailto:user@cassandra.apache.org>>
Subject: Re: Why Cassandra secondary indexes are so slow on just 350k rows?

t should not depend on number of rows in CF but from number of rows per one 
index value

Reply via email to