> the data... basically each row will represent a country, and each column of a > particular row will represent the data of a single user. Almost. The first field in the composite primary key is the row key, the remaining fields are used to prefix the column names. So each column will be a single column value for a single user.
> 1) Is there an approach to randomly getting a User? Right now I'm doing all > this in the receiving end... I retrieve all the corresponding Users and then > select a random portion of them. Assuming your CF definition includes… PRIMARY KEY (country, last_login_date, email) You will need to know all three bits of information to get a single user. You may want to also store the user details in CF that is keyed on the user id / email. > 2) Unless I'm missing something there's now way to page a query using CQL. > Some of my queries returns a high volume of data and I don't have enough RAM. > Do I have to use the Thrift API or are there other high level libraries which > I could use (I'm using Ruby so I'm looking into Twitter's Cassandra gem but > I've not found yet a way to do this with it) The only way to page is to provide a start column and get the next X columns. Cheers ----------------- Aaron Morton Freelance Developer @aaronmorton http://www.thelastpickle.com On 18/07/2012, at 3:54 AM, Bruno Di Pentima wrote: > Hello all! > > I'm new to Cassandra and the list. Still learning and testing basic stuff. > I've got a couple of questions which I'm hoping you could help me with. > > I'm currently using Cassandra 1.1.1 and CQL Spec 3. > > My schema consists of a table which represents a user list with with their > according properties (country, last_login_date, email, birthdate, name, etc). > I've created a composite key on the columns I always query (country and > last_login_date [plus email as the unique part of the key]). If I understand > correctly, this generates a wide row Columnfamily where the partition key is > the country and the remaining parts of the composite (last_login_date and > email) are used for clustering the data... basically each row will represent > a country, and each column of a particular row will represent the data of a > single user. > What I need querying this Columnfamily is a random list of X users from Y > country which have logged in in the last Z months. So... > 1) Is there an approach to randomly getting a User? Right now I'm doing all > this in the receiving end... I retrieve all the corresponding Users and then > select a random portion of them. > 2) Unless I'm missing something there's now way to page a query using CQL. > Some of my queries returns a high volume of data and I don't have enough RAM. > Do I have to use the Thrift API or are there other high level libraries which > I could use (I'm using Ruby so I'm looking into Twitter's Cassandra gem but > I've not found yet a way to do this with it) > > Thanks in advance. Hope I made myself understood... English is not my primary > language :) > > Best, > > -- Bruno Di Pentima > Santa Fe, Argentina > > > >