On Fri, Dec 2, 2011 at 8:13 PM, liangfeng <liangf...@made-in-china.com> wrote: > 1.There is no implementation in cassandra1.0 to ensure the conclusion "Only > enough space for 10x the sstable size needs to be reserved for temporary use > by > compaction",so one special compaction may need big free disk space all the > same. > 2.Leveled compaction *will* do too much i/o,especially when we use > RandomPartitioner(because md5 token will cause overlap of many sstables all > the > time). > These two points may cause uncontrollablity when compaction occurs.
We specifically create non-overlapping, fixed-size sstables so that there is no such thing as a "special" or unusually large compaction. (All sstables are sorted by row key in token order, so partitioner choice has no effect here.) You should look at the org.apache.cassandra.db.compaction package and read the original leveldb implementation notes at http://leveldb.googlecode.com/svn/trunk/doc/impl.html for more details. -- Jonathan Ellis Project Chair, Apache Cassandra co-founder of DataStax, the source for professional Cassandra support http://www.datastax.com