I think you're confusing "temporary space used during a compaction
operation" with "total i/o done by compaction."

Leveled compaction *will* do more i/o than size-tiered, because it's
enforcing tighter guarantees on how compacted the data is.

On Fri, Dec 2, 2011 at 1:01 AM, liangfeng <liangf...@made-in-china.com> wrote:
> Hello,everyone!
>   In this
> doc(http://www.datastax.com/dev/blog/leveled-compaction-in-apache-cassandra),I
> found a conclusion "Only enough space for 10x the sstable size needs to be
> reserved for temporary use by compaction".I don't know how can we got this
> conclusion,but I guess the author of this doc may got this conclusion by one
> compaction rule from levelDB.In one doc of
> levelDB(http://leveldb.googlecode.com/svn/trunk/doc/impl.html),I found this 
> rule
> "We also switch to a new output file when the key range of the current output
> file has grown enough to overlap more then ten level-(L+2) files".As this
> compaction rule descripting,10x the sstable size is enough for every
> compaction.Unfortunatly,cassandra1.0 may not implement this compaction 
> rule,so I
> think this conclusion may be arbitrary.Everyone,what do you think about it?
>   Of course,implement this compaction rule may not be hard,but this
> implementation may cause another problem.Many small sstables which overlap 
> just
> 10 sstables with next level may be generated in compaction,especially when we
> use RandomPartitioner.This may cause many compactions when these small 
> sstables
> have to uplevel to next level.In my practice,I write 120g data to one 
> cassandra
> node,and cassandra node spent 24 hourse to compacte this data by Leveled
> Compaction.So,I don't think Leveled Compaction is perfect.What do you think
> about it,my friends?
>



-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of DataStax, the source for professional Cassandra support
http://www.datastax.com

Reply via email to