You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, when picking a compaction, we compute a heuristic that prioritizes files that are large relative to the overlapping files in the output level. This heuristic helps minimize write amplification. Once a file to compact is picked, the input level files are expanded to include any adjacent files that may be included without overlapping additional files within the output level. This expansion may significantly decrease the overlapping ratio of the compaction, and the resulting compaction produces less write amplification than the per-file ratio indicates.
It should be possible to write an iterator that iterates over whole compaction units. The compaction picker can be adjusted to iterate over compaction units rather than files, and calculate the min-overlapping ratio heuristic on a compaction unit basis. This seems like it should help reduce write amplification.
The text was updated successfully, but these errors were encountered:
Currently, when picking a compaction, we compute a heuristic that prioritizes files that are large relative to the overlapping files in the output level. This heuristic helps minimize write amplification. Once a file to compact is picked, the input level files are expanded to include any adjacent files that may be included without overlapping additional files within the output level. This expansion may significantly decrease the overlapping ratio of the compaction, and the resulting compaction produces less write amplification than the per-file ratio indicates.
It should be possible to write an iterator that iterates over whole compaction units. The compaction picker can be adjusted to iterate over compaction units rather than files, and calculate the min-overlapping ratio heuristic on a compaction unit basis. This seems like it should help reduce write amplification.
The text was updated successfully, but these errors were encountered: