A minor compaction consists of two processes: a mini compaction and a minor compaction.
Mini compaction
When the size of a MemTable exceeds the specified threshold, data in the MemTable is flushed to a Mini SSTable to release the memory space. This process is called a mini compaction.
The mini compaction is a process of releasing memory and data logs. A frozen MemTable in memory is converted into a Mini SSTable on disk during a mini compaction, which serves as a checkpoint of data logs. After the mini compaction is done, the corresponding frozen MemTable and logs can be released.
Minor compaction
As user data is written, the number of Mini SSTables increases, which means more Mini SSTables need to be accessed during queries, compromising the query performance. A minor compaction is initiated to merge multiple Mini SSTables into one SSTable. The primary purpose of a minor compaction is to reduce the number of SSTables. A minor compaction is automatically initiated when the number of Mini SSTables exceeds the specified threshold.
SSTables are organized by layers. Therefore, a minor compaction can be further classified based on the source and target layers of the data as follows:
L0 -> L0
A tiered compaction, where the system merges several Mini SSTables into one Mini SSTable in the L0 layer.

L0 -> L1
A level compaction, where the system merges several Mini SSTables and one or more Minor SSTables into one Minor SSTable in the L1 layer.

Triggering a minor compaction
A minor compaction can be triggered automatically or manually.
A minor compaction is automatically triggered when the memory usage of active MemStores of a tenant reaches freeze_trigger_percentage * memstore_limit (where memstore_limit = tenant memory * memstore_limit_percentage).
You can also manually trigger a minor compaction by using the following O&M commands.
Note
The memstore_limit_percentage parameter specifies the percentage of total available memory for a tenant that can be used by MemStores. For more information, see memstore_limit_percentage.
Here are some examples:
Minor compaction at the cluster level
Minor compaction initiated for the
systenantobclient> ALTER SYSTEM MINOR FREEZE TENANT = sys;Minor compaction initiated for all user tenants
obclient> ALTER SYSTEM MINOR FREEZE TENANT = all_user;Minor compaction initiated for all META tenants
obclient> ALTER SYSTEM MINOR FREEZE TENANT = all_meta;
Minor compaction at the tenant level
obclient> ALTER SYSTEM MINOR FREEZE TENANT= prod_tenant;
More information
For more information about minor compactions, see Minor compaction.