Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

настройки таблиц семейства MergeTree max_delay_*

Эти настройки доступны в system.merge_tree_settings и автоматически создаются на основе исходного кода ClickHouse.

max_delay_to_insert

Тип
UInt64
По умолчанию
1

Значение в секундах, используемое для расчета задержки INSERT, если число активных частей в одной партиции превышает значение parts_to_delay_insert.

Возможные значения:

  • Любое положительное целое число.

Задержка (в миллисекундах) для INSERT вычисляется по формуле:

max_k = parts_to_throw_insert - parts_to_delay_insert
k = 1 + parts_count_in_partition - parts_to_delay_insert
delay_milliseconds = pow(max_delay_to_insert * 1000, k / max_k)

Например, если в партиции 299 активных частей и parts_to_throw_insert = 300, parts_to_delay_insert = 150, max_delay_to_insert = 1, INSERT задерживается на pow( 1 * 1000, (1 + 299 - 150) / (300 - 150) ) = 1000 миллисекунд.

Начиная с версии 23.1 формула была изменена следующим образом:

allowed_parts_over_threshold = parts_to_throw_insert - parts_to_delay_insert
parts_over_threshold = parts_count_in_partition - parts_to_delay_insert + 1
delay_milliseconds = max(min_delay_to_insert_ms, (max_delay_to_insert * 1000)
* parts_over_threshold / allowed_parts_over_threshold)

Например, если в партиции 224 активных части и parts_to_throw_insert = 300, parts_to_delay_insert = 150, max_delay_to_insert = 1, min_delay_to_insert_ms = 10, выполнение INSERT задерживается на max( 10, 1 * 1000 * (224 - 150 + 1) / (300 - 150) ) = 500 миллисекунд.

max_delay_to_mutate_ms

Тип
UInt64
По умолчанию
1000

Максимальная задержка мутации таблицы семейства MergeTree в миллисекундах при большом количестве незавершённых мутаций

Navigation