I am quite ready to be stoned for this thread but I have been thinking about this for a while and I just wanted to bounce these ideas of some guru's.
Cassandra does allow multiple data directories, but as far as I can tell no one runs in this configuration. This is something that is very different between the hbase architecture and the Cassandra architecture. HBase borrows the concept from hadoop of JBOD configurations. HBase has many small ish (~256 MB) regions managed with Zookeeper. Cassandra has a few (1 per node) large node sized Token Ranges managed by Gossip consensus. Lets say a node has 6 300 GB disks. You have the options of RAID5, RAID6, RAID10, or RAID0. The problem I have found with these configurations are major compactions (of even large minor ones) can take a long time. Even if your disk is not heavily utilized this is a lot of data to move through. Thus node joins take a long time. Node moves take a long time. The idea behind "micrandra" is for a 6 disk system run 6 instances of Cassandra, one per disk. Use the RackAwareSnitch to make sure no replicas live on the same node. The downsides 1) we would have to manage 6x the instances of cassandra 2) we would have some overhead for each JVM. The upsides ? 1) Since disk/instance failure only degrades the overall performance 1/6th (RAID0 you lost the entire node) (RAID5 still takes a hit when down a disk) 2) Moves and joins have less work to do 3) Can scale up a single node by adding a single disk to an existing system (assuming the ram and cpu is light) 4) OPP would be "easier" to balance out hot spots (maybe not on this one in not an OPP) What does everyone thing? Does it ever make sense to run this way?