HBase minor & major compactions

HBase The Definitive Guide Book

Says:

Since flushing memstores to disk causes more and more HFile's to be created, HBase
has a housekeeping mechanism that merges the files into larger ones using
compactions. There are two types of compaction: minor compactions and major
compactions. The former reduce the number of storage files by rewriting smaller files
into fewer but larger ones, performing an n-way merge. Since all the data is already
sorted in each HFile, that merge is fast and bound only by disk IO performance.
The major compactions rewrite all files within a column family for a region into a
single new one. They also have another distinct feature compared to the minor
compactions: based on the fact that they scan all key/value pairs, they can drop
deleted entries including their deletion marker. Predicate deletes are handled here as
well - for example, removing values that have expired according to the configured
time-to-live or when there are too many versions.

so:

1. minor compactions

reduce the number of storage files by rewriting smaller files into fewer but larger ones, performing an n-way merge.

2. major compactions

rewrite all files within a column family for a region into a
single new one. They also have another distinct feature compared to the minor compactions: based on the fact that they scan all key/value pairs, they can drop deleted entries including their deletion marker. Predicate deletes are handled here as well. time-to-live or when there are too many versions.

你可能感兴趣的:(hbase,region,store files)