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 settings. 

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. 
Aaron
  

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).

Reply via email to