Subproperties of compaction
Constructing a map of the compaction property and its subproperties.
Using CQL, you can configure compaction for a table by constructing a map of the compaction property and the following subproperties:
Compaction Subproperties | Description | Default | Supported Strategy |
---|---|---|---|
bucket_high | Size-tiered compaction strategy (STCS) considers SSTables to be within the same bucket if the SSTable size diverges by 50% or less from the default bucket_low and default bucket_high values: [average-size × bucket_low, average-size × bucket_high]. | 1.5 | STCS |
bucket_low | Same as above. | 0.5 | STCS |
max_threshold | In SizeTieredCompactionStrategy, sets the maximum number of SSTables to allow in a minor compaction. In LeveledCompactionStrategy, it applies to L0 when L0 gets behind, that is, when L0 accumulates more than MAX_COMPACTING_L0 SSTables. | 32 | STCS |
min_threshold | In SizeTieredCompactionStrategy sets the minimum number of SSTables to trigger a minor compaction. | 4 | STCS |
min_sstable_size | The SizeTieredCompactionStrategy groups SSTables for compaction into buckets. The bucketing process groups SSTables that differ in size by less than 50%. This results in a bucketing process that is too fine grained for small SSTables. If your SSTables are small, use min_sstable_size to define a size threshold (in bytes) below which all SSTables belong to one unique bucket. | 50MB | STCS |
sstable_size_in_mb | The target size for SSTables that use the leveled compaction strategy (LCS). Although SSTable sizes should be less or equal to sstable_size_in_mb, it is possible to have a larger SSTable during compaction. This occurs when data for a given partition key is exceptionally large. The data is not split into two SSTables. | 160MB | LCS |
tombstone_compaction_interval | The minimum time to wait after an SSTable creation time before considering the SSTable for tombstone compaction. Tombstone compaction is the compaction triggered if the SSTable has more garbage-collectable tombstones than tombstone_threshold. | 1 day | all |
tombstone_threshold | A ratio of garbage-collectable tombstones to all contained columns, which if exceeded by the SSTable triggers compaction (with no other SSTables) for the purpose of purging the tombstones. | 0.2 | all |
To disable background compactions, use nodetool disableautocompaction/enableautocompaction instead of setting min/max compaction thresholds to 0.