incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aaron morton <>
Subject Re: Columns values(integer) need frequent updates/ increments
Date Sat, 09 Apr 2011 04:46:13 GMT
A lot depends on your definition of frequently. 

Also when a column is updated in the memtable the previous column is replaced, so when the
memtable is flushed to disk as an SSTable only one copy of the column is stored. If you have
a situation where a lot of columns are overwritten setting a high ops threshold for the memtable
can help reduce the number of sstables created. 

In this case you may want to split these counts into separate CF's to use different memtable

Dont forget the minor compactions are always there merging the sstables to reduce the number
of potential disk reads needed to read from a single column. 

Hope that helps. 

On 8 Apr 2011, at 08:32, Ertio Lew wrote:

> Hi,
> I am working on a Question/Answers web app using Cassandra(consider very similar to StackOverflow
sites). I need to built the reputation system for users on the application. This way the user's
reputation increases when s/he answers correctly somebody's question. Thus if I keep the reputation
score of users as column values, these columns are very very frequently updated. Thus I have
several versions of a single column which I guess is very bad.
> Similarly for the questions as well, the no of up-votes will increase very very frequently
and  hence again I'll get several versions of same column.
> How should I try to minimize this ill effect?
> ** What I thought of..
> Try using a separate CF for reputation system, so that the memtable stores most of the
columns(containing reputation scores of the users). Thus frequent updates will update the
column in the memtable, which means more easier reads as well as updates. These reputations
columns are anyways small & do not explode in numbers(they only replace another column).

View raw message