rocksdb/include/leveldb
Dhruba Borthakur 7632fdb5cb Support taking a configurable number of files from the same level to compact in a single compaction run.
Summary:
The compaction process takes some files from LevelK and
merges it into LevelK+1. The number of files it picks from
LevelK was capped such a way that the total amount of
data picked does not exceed the maxfilesize of that level.
This essentially meant that only one file from LevelK
is picked for a single compaction.

For bulkloads, we would like to take many many file from
LevelK and compact them using a single compaction run.

This patch introduces a option called the 'source_compaction_factor'
(similar to expanded_compaction_factor). It is a multiplier
that is multiplied by the maxfilesize of that level to arrive
at the limit that is used to throttle the number of source
files from LevelK.  For bulk loads, set source_compaction_factor
to a very high number so that multiple files from the same
level are picked for compaction in a single compaction.

The default value of source_compaction_factor is 1, so that
we can keep backward compatibilty with existing compaction semantics.

Test Plan: make clean check

Reviewers: emayanke, sheki

Reviewed By: emayanke

CC: leveldb

Differential Revision: https://reviews.facebook.net/D6867
2012-11-21 08:37:03 -08:00
..
c.h Added bloom filter support. 2012-04-17 08:36:46 -07:00
cache.h Print the block cache size in the LOG. 2012-09-29 21:39:19 -07:00
comparator.h A number of fixes: 2011-10-31 17:22:06 +00:00
db.h Add a readonly db 2012-11-07 14:19:48 -08:00
env.h Merge branch 'master' into performance 2012-10-29 14:18:00 -07:00
filter_policy.h Added bloom filter support. 2012-04-17 08:36:46 -07:00
iterator.h A number of fixes: 2011-10-31 17:22:06 +00:00
options.h Support taking a configurable number of files from the same level to compact in a single compaction run. 2012-11-21 08:37:03 -08:00
slice.h Support for java access to leveldb via leveldbjni. 2012-06-20 15:17:03 -07:00
statistics.h Metrics: record compaction drop's and bloom filter effectiveness 2012-11-09 11:38:45 -08:00
status.h build shared libraries; updated version to 1.3; add Status accessors 2012-03-30 13:15:49 -07:00
table_builder.h Allow having different compression algorithms on different levels. 2012-10-29 11:48:09 -07:00
table.h Trigger read compaction only if seeks to storage are incurred. 2012-09-28 11:10:52 -07:00
write_batch.h A number of fixes: 2011-10-31 17:22:06 +00:00