cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Radim Kolar <>
Subject Re: Advice on architecture
Date Wed, 28 Mar 2012 11:04:38 GMT

> RAID0 would help me use more efficiently the total disk space available at each node,
but tests have shown that under write load it behaves much worse than using separate data
dirs, one per disk.
there are different strategies how RAID0 splits reads, also changing io 
scheduler and filesystem helps. I found that ZFS/ZRAID is best, 
especially backups are very good. If you dont plan to do backups ext4 is 
not bad either, but compactions are rather slow on it.
>   I used a 3-node cluster, and the node with RAID0 kept getting behind the other two
nodes which had separate data dirs. The problem with separate data dirs is that it seems to
be difficult for Cassandra to use the space efficiently due to the compactions.
If you need to think about disk free space on nodes, then you do not 
have enough storage. TB drives are cheap today, buy some. Cluster should 
not be designed - we will be lucky if all our data fits there and we 
will not run out of space during major compactions.
>   I first tried the new Leveled compactions scheme, which seemed promising since it would
create "small" files that could be scattered by the data dirs, but the IO necessary for this
compaction scheme is enormous under write load.
yes. its for mostly read only apps. but raising base table size to 
something larger like 50 MB helps.
> Am I missing something here? Is this the best way to deal with this (abnormal) use case?
It takes time to learn how to tune cassandra properly. If you do not 
have time, hire somebody who will do it for you. It took me few months 
to master and its kinda difficult to explain it over mail.

View raw message