[conf](compaction) enable vertical_compaction ordered_data_compaction (#14945)

This commit is contained in:
yixiutt
2023-01-13 23:12:42 +08:00
committed by GitHub
parent a788623ee2
commit d8990522fb
4 changed files with 77 additions and 17 deletions

View File

@ -265,15 +265,15 @@ CONF_Bool(enable_vectorized_compaction, "true");
// whether enable vectorized schema change/material-view/rollup task.
CONF_Bool(enable_vectorized_alter_table, "true");
// whether enable vertical compaction
CONF_mBool(enable_vertical_compaction, "false");
CONF_mBool(enable_vertical_compaction, "true");
// whether enable ordered data compaction
CONF_mBool(enable_ordered_data_compaction, "false");
CONF_mBool(enable_ordered_data_compaction, "true");
// In vertical compaction, column number for every group
CONF_mInt32(vertical_compaction_num_columns_per_group, "5");
// In vertical compaction, max memory usage for row_source_buffer
CONF_Int32(vertical_compaction_max_row_source_memory_mb, "200");
// In vertical compaction, max dest segment file size
CONF_mInt64(max_segment_size_in_vertical_compaction, "268435456");
CONF_mInt64(vertical_compaction_max_segment_size, "268435456");
// In ordered data compaction, min segment size for input rowset
CONF_mInt32(ordered_data_compaction_min_segment_size, "10485760");

View File

@ -100,8 +100,8 @@ int64_t Compaction::get_avg_segment_rows() {
// take care of empty rowset
// input_rowsets_size is total disk_size of input_rowset, this size is the
// final size after codec and compress, so expect dest segment file size
// in disk is config::max_segment_size_in_vertical_compaction
return config::max_segment_size_in_vertical_compaction /
// in disk is config::vertical_compaction_max_segment_size
return config::vertical_compaction_max_segment_size /
(_input_rowsets_size / (_input_row_num + 1) + 1);
}

View File

@ -445,6 +445,42 @@ There are two ways to configure BE configuration items:
* Description: Whether to enable vectorized compaction
* Default value: true
#### `enable_vertical_compaction`
* Type: bool
* Description: Whether to enable vertical compaction
* Default value: true
#### `vertical_compaction_num_columns_per_group`
* Type: bool
* Description: In vertical compaction, column number for every group
* Default value: true
#### `vertical_compaction_max_row_source_memory_mb`
* Type: bool
* Description: In vertical compaction, max memory usage for row_source_buffer
* Default value: true
#### `vertical_compaction_max_segment_size`
* Type: bool
* Description: In vertical compaction, max dest segment file size
* Default value: true
#### `enable_ordered_data_compaction`
* Type: bool
* Description: Whether to enable ordered data compaction
* Default value: true
#### `ordered_data_compaction_min_segment_size`
* Type: bool
* Description: In ordered data compaction, min segment size for input rowset
* Default value: true
#### `max_base_compaction_threads`
* Type: int32
@ -473,12 +509,6 @@ There are two ways to configure BE configuration items:
* Default value: 10000
* Dynamically modifiable: Yes
#### `compaction_tablet_compaction_score_factor`
* Type: int32
* Description: Coefficient for compaction score when calculating tablet score to find a tablet for compaction.
* Default value: 1
#### `compaction_promotion_size_mbytes`
* Type: int64

View File

@ -459,6 +459,42 @@ BE 重启后该配置将失效。如果想持久化修改结果,使用如下
* 描述:是否开启向量化compaction
* 默认值:true
#### `enable_vertical_compaction`
* 类型: bool
* 描述: 是否开启列式compaction
* 默认值: true
#### `vertical_compaction_num_columns_per_group`
* 类型: bool
* 描述: 在列式compaction中, 组成一个合并组的列个数
* 默认值: true
#### `vertical_compaction_max_row_source_memory_mb`
* 类型: bool
* 描述: 在列式compaction中, row_source_buffer能使用的最大内存
* 默认值: true
#### `vertical_compaction_max_segment_size`
* 类型: bool
* 描述: 在列式compaction中, 输出的segment文件最大值
* 默认值: true
#### `enable_ordered_data_compaction`
* 类型: bool
* 描述: 是否开启有序数据的compaction
* 默认值: true
#### `ordered_data_compaction_min_segment_size`
* 类型: bool
* 描述: 在有序数据compaction中, 满足要求的最小segment大小
* 默认值: true
#### `max_base_compaction_threads`
* 类型:int32
@ -487,12 +523,6 @@ BE 重启后该配置将失效。如果想持久化修改结果,使用如下
* 默认值:10000
* 可动态修改:是
#### `compaction_tablet_compaction_score_factor`
* 类型:int32
* 描述:选择tablet进行compaction时,计算 tablet score 的公式中 compaction score的权重。
* 默认值:1
#### `compaction_promotion_size_mbytes`
* 类型:int64