Перейти к основному содержанию
Системная таблица system.merge_tree_settings показывает глобально заданные настройки MergeTree. Настройки MergeTree можно задать в разделе merge_tree файла конфигурации сервера или указать отдельно для каждой таблицы MergeTree в секции SETTINGS оператора CREATE TABLE. Пример настройки параметра max_suspicious_broken_parts: Настройте значение по умолчанию для всех таблиц MergeTree в файле конфигурации сервера:
<merge_tree>
    <max_suspicious_broken_parts>5</max_suspicious_broken_parts>
</merge_tree>
Для конкретной таблицы:
CREATE TABLE tab
(
    `A` Int64
)
ENGINE = MergeTree
ORDER BY tuple()
SETTINGS max_suspicious_broken_parts = 500;
Измените настройки конкретной таблицы с помощью ALTER TABLE ... MODIFY SETTING:
ALTER TABLE tab MODIFY SETTING max_suspicious_broken_parts = 100;

-- сбросить до глобального значения по умолчанию (значение из system.merge_tree_settings)
ALTER TABLE tab RESET SETTING max_suspicious_broken_parts;

Настройки MergeTree

adaptive_write_buffer_initial_size

Начальный размер адаптивного буфера для записи

add_implicit_sign_column_constraint_for_collapsing_engine

Если значение равно true, добавляет неявное ограничение для столбца sign таблицы CollapsingMergeTree или VersionedCollapsingMergeTree, разрешающее только допустимые значения (1 и -1).

add_minmax_index_for_block_number_column

При включении для персистентного виртуального столбца _block_number добавляется неявный min-max-индекс (skipping). Чтобы это сработало, требуется enable_block_number_column = 1. Индекс строится только во время слияний, а не при вставке: в момент вставки номер блока является временным, поэтому индекс строился бы по константе.

add_minmax_index_for_block_offset_column

Если параметр включен, для персистентного виртуального столбца _block_offset добавляется неявный min-max-индекс (skipping). Чтобы это вступило в силу, необходимо enable_block_offset_column = 1. Индекс строится только во время слияний, а не при вставке.

add_minmax_index_for_numeric_columns

Если параметр включен, для всех числовых столбцов таблицы добавляются min-max-индексы (skipping).

add_minmax_index_for_string_columns

При включении для всех строковых столбцов таблицы добавляются min-max-индексы (skipping).

add_minmax_index_for_temporal_columns

При включении для всех столбцов таблицы типов Date, Date32, Time, Time64, DateTime и DateTime64 добавляются индексы min-max (skipping)

allow_coalescing_columns_in_partition_or_order_key

Если включено, позволяет использовать объединяющиеся столбцы таблицы CoalescingMergeTree в ключе партиционирования или ключе сортировки.

allow_commit_order_projection

Включает проекции commit-order, которые хранят виртуальные столбцы _block_number и _block_offset, сохраняя исходный порядок вставки при слияниях. Требует, чтобы были включены enable_block_number_column и enable_block_offset_column.

allow_experimental_replacing_merge_with_cleanup

Разрешает экспериментальные слияния CLEANUP для ReplacingMergeTree со столбцом is_deleted. Если настройка включена, можно использовать OPTIMIZE ... FINAL CLEANUP, чтобы вручную слить все части в партиции в одну и удалить все помеченные как удалённые строки. Также позволяет включить автоматическое выполнение таких слияний в фоновом режиме с помощью настроек min_age_to_force_merge_seconds, min_age_to_force_merge_on_partition_only и enable_replacing_merge_with_cleanup_for_min_age_to_force_merge.

allow_experimental_reverse_key

Включает поддержку сортировки по убыванию в ключах сортировки MergeTree. Эта настройка особенно полезна для анализа временных рядов и запросов Top-N, поскольку позволяет хранить данные в обратном хронологическом порядке и тем самым оптимизировать производительность запросов. Если включена настройка allow_experimental_reverse_key, в предложении ORDER BY таблицы MergeTree можно задавать сортировку по убыванию. Это позволяет использовать более эффективные оптимизации ReadInOrder вместо ReadInReverseOrder для запросов с сортировкой по убыванию. Пример
CREATE TABLE example
(
time DateTime,
key Int32,
value String
) ENGINE = MergeTree
ORDER BY (time DESC, key)  -- Сортировка по полю 'time' в порядке убывания
SETTINGS allow_experimental_reverse_key = 1;

SELECT * FROM example WHERE key = 'xxx' ORDER BY time DESC LIMIT 10;
Если в запросе используется ORDER BY time DESC, применяется ReadInOrder. Значение по умолчанию: false

allow_floating_point_partition_key

Разрешает использовать число с плавающей запятой в качестве ключа партиционирования. Возможные значения:
  • 0 — Использование числа с плавающей запятой в качестве ключа партиционирования не разрешено.
  • 1 — Использование числа с плавающей запятой в качестве ключа партиционирования разрешено.

allow_nullable_key

Разрешает использовать тип Nullable в качестве первичного ключа.

allow_part_offset_column_in_projections

Разрешает использовать столбец ‘_part_offset’ в запросе SELECT проекций.

allow_reduce_blocking_parts_task

Фоновая задача, сокращающая число блокирующих частей для таблиц shared merge tree. Только в ClickHouse Cloud

allow_remote_fs_zero_copy_replication

Не используйте эту настройку в продакшне, так как она ещё не готова.

allow_summing_columns_in_partition_or_order_key

Если включено, разрешает использовать суммируемые столбцы таблицы SummingMergeTree в партиции или ключе сортировки.

allow_suspicious_indices

Отклонять первичные/вторичные индексы и ключи сортировки с одинаковыми выражениями

allow_vertical_merges_from_compact_to_wide_parts

Разрешает Вертикальное слияние при переходе от компактных частей к частям Wide. Этот параметр должен иметь одинаковое значение на всех репликах.

alter_column_secondary_index_mode

Настраивает, разрешать ли команды ALTER, изменяющие столбцы, для которых существуют вторичные индексы, и какое действие выполнять, если они разрешены. По умолчанию такие команды ALTER разрешены, а индексы перестраиваются. Возможные значения:
  • rebuild (по умолчанию): Перестраивает все вторичные индексы, затронутые столбцом в команде ALTER.
  • throw: Запрещает любой ALTER столбцов, для которых существуют явные вторичные индексы, генерируя исключение. Неявные индексы под это ограничение не подпадают и будут перестроены.
  • drop: Удаляет зависимые вторичные индексы. Новые части не будут содержать этих индексов, поэтому для их повторного создания потребуется MATERIALIZE INDEX.
  • compatibility: Соответствует исходному поведению: throw для ALTER ... MODIFY COLUMN и rebuild для ALTER ... UPDATE/DELETE.
  • ignore: Предназначено для опытных пользователей. Оставляет индексы в несогласованном состоянии, что может приводить к некорректным результатам запросов.

always_fetch_merged_part

Если значение равно true, эта реплика никогда не выполняет слияние частей и всегда загружает слитые части с других реплик. Возможные значения:
  • true, false
Всегда копировать данные вместо создания жёстких ссылок при мутациях/заменах/отсоединении и т. д.

apply_patches_on_merge

Если равно true, патч-части применяются при слияниях

assign_part_uuids

Если параметр включен, каждой новой части будет присваиваться уникальный идентификатор. Перед включением убедитесь, что все реплики поддерживают UUID версии 4.

async_block_ids_cache_update_wait_ms

Сколько времени каждая итерация вставки будет ожидать обновления async_block_ids_cache

async_insert

Если значение равно true, данные из INSERT-запроса сохраняются в очереди, а затем в фоновом режиме записываются в таблицу.

auto_statistics_types

Разделённый запятыми список типов статистики, которые автоматически вычисляются для всех подходящих столбцов. Поддерживаются следующие типы статистики: tdigest, countmin, minmax, nullcount, uniq.

background_task_preferred_step_execution_time_ms

Целевое время выполнения одного шага слияния или мутации. Может быть превышено, если выполнение одного шага занимает больше времени

cache_populated_by_fetch

Этот параметр применяется только в ClickHouse Cloud.
Когда cache_populated_by_fetch выключен (значение по умолчанию), новые части данных загружаются в файловый кэш только при выполнении запроса, которому нужны эти части. Если параметр включен, cache_populated_by_fetch заставляет все узлы загружать новые части данных из хранилища в свой файловый кэш без необходимости выполнять запрос, который запускал бы это действие. См. также

cache_populated_by_fetch_filename_regexp

Эта настройка применима только в ClickHouse Cloud.
Если значение не пустое, после операции fetch в кэш будут предварительно загружаться только файлы, соответствующие этому регулярному выражению (если cache_populated_by_fetch включен).

check_delay_period

Устаревшая настройка, не имеет эффекта.

check_sample_column_is_correct

Включает проверку того, что при создании таблицы тип данных столбца для сэмплирования или выражения для семплирования указан корректно. Тип данных должен быть одним из беззнаковых целочисленных типов: UInt8, UInt16, UInt32, UInt64. Возможные значения:
  • true — Проверка включена.
  • false — Проверка отключена при создании таблицы.
Значение по умолчанию: true. По умолчанию ClickHouse server проверяет при создании таблицы тип данных столбца для сэмплирования или выражения для семплирования. Если у вас уже есть таблицы с некорректным выражением для семплирования и вы не хотите, чтобы сервер сгенерировал исключение при запуске, установите check_sample_column_is_correct в false.

clean_deleted_rows

Устаревшая настройка, не имеет эффекта.

cleanup_delay_period

Минимальный период очистки старых журналов очереди, хэшей блоков и частей.

cleanup_delay_period_random_add

Добавляет к cleanup_delay_period равномерно распределённое значение от 0 до x секунд, чтобы избежать эффекта «стадного поведения» и последующего DoS ZooKeeper в случае очень большого количества таблиц.

cleanup_thread_preferred_points_per_iteration

Предпочтительный размер батча для фоновой очистки (точки — абстрактная величина, но 1 точка примерно соответствует 1 вставленному блоку).

cleanup_threads

Устаревшая настройка, не имеет эффекта.

clone_replica_zookeeper_create_get_part_batch_size

Размер батча для запросов ZooKeeper multi-create get-part при клонировании реплики.

columns_and_secondary_indices_sizes_lazy_calculation

Вычислять размеры столбцов и вторичных индексов отложенно — при первом запросе, а не при инициализации таблицы.

columns_to_prewarm_mark_cache

Список столбцов для предварительного прогрева кэша меток (если он включен). Пустое значение означает, что используются все столбцы

compact_parts_max_bytes_to_buffer

Доступно только в ClickHouse Cloud. Максимальное количество байт, записываемых в один страйп в компактных частях

compact_parts_max_granules_to_buffer

Доступно только в ClickHouse Cloud. Максимальное количество гранул, записываемых в один страйп в компактных частях

compact_parts_merge_max_bytes_to_prefetch_part

Доступно только в ClickHouse Cloud. Максимальный размер компактной части для чтения целиком в память во время слияния.

compatibility_allow_sampling_expression_not_in_primary_key

Разрешает создавать таблицу с выражением для семплирования, не входящим в первичный ключ. Это нужно только для того, чтобы временно разрешить запуск сервера с некорректными таблицами для обеспечения обратной совместимости.

compress_marks

Для меток поддерживается сжатие, что уменьшает размер файла меток и ускоряет передачу по сети.

compress_per_column_in_compact_parts

Управляет физической структурой компактных частей. Если true (по умолчанию), каждый столбец в грануле начинает новый сжатый блок, что позволяет ClickHouse не читать с диска ненужные столбцы. Если false, все столбцы в пределах гранулы упаковываются в один и тот же сжатый блок, что улучшает коэффициент сжатия, но требует распаковки большего объёма данных при чтении. Это полезно для рабочих нагрузок, которые всегда читают все столбцы (например, проекции).

compress_primary_key

Включает сжатие первичного ключа, уменьшает размер файла первичного ключа и ускоряет передачу по сети.

concurrent_part_removal_threshold

Включать параллельное удаление частей (см. max_part_removal_threads) только если количество неактивных частей данных не меньше этого значения.

concurrent_part_removal_threshold_for_remote_disk

То же, что и concurrent_part_removal_threshold, но используется, когда хотя бы одна из удаляемых частей хранится на удалённом диске. Значение по умолчанию ниже, поскольку удаление каждой части в удалённом хранилище обычно требует отдельного сетевого запроса (например, одного HTTP DELETE на часть в объектном хранилище), поэтому последовательное удаление даже 100 частей может задержать DROP TABLE на десятки секунд.

deduplicate_merge_projection_mode

Разрешает или запрещает создание проекций для таблиц с неклассическим движком MergeTree, то есть не (Replicated, Shared) MergeTree. Опция ignore предназначена исключительно для совместимости и может приводить к некорректным результатам. В остальных случаях, если создание разрешено, определяет, что делать при слиянии проекций: удалить их или пересобрать. Для классического MergeTree эта настройка игнорируется. Она также управляет OPTIMIZE DEDUPLICATE, но действует на все движки семейства MergeTree. Как и опция lightweight_mutation_projection_mode, она применяется на уровне part. Возможные значения:
  • ignore
  • throw
  • drop
  • rebuild

default_compression_codec

Задаёт кодек сжатия по умолчанию, который используется, если для конкретного столбца в объявлении таблицы он не указан. Порядок выбора кодека сжатия для столбца:
  1. Кодек сжатия, указанный для столбца в объявлении таблицы
  2. Кодек сжатия, указанный в default_compression_codec (эта настройка)
  3. Кодек сжатия по умолчанию, указанный в настройках compression Значение по умолчанию: пустая строка (не задано).

detach_not_byte_identical_parts

Включает или отключает отсоединение части данных на реплике после слияния или мутации, если она не идентична по байтам частям данных на других репликах. Если параметр отключен, часть данных удаляется. Включите эту настройку, если хотите позже проанализировать такие части. Настройка применима к таблицам MergeTree с включенной репликацией данных. Возможные значения:
  • 0 — Части удаляются.
  • 1 — Части отсоединяются.

detach_old_local_parts_when_cloning_replica

Не удалять старые локальные части при восстановлении утраченной реплики. Возможные значения:
  • true
  • false

disable_detach_partition_for_zero_copy_replication

Отключает запрос DETACH PARTITION при репликации с нулевым копированием.

disable_fetch_partition_for_zero_copy_replication

Отключает запрос FETCH PARTITION при репликации с нулевым копированием.

disable_freeze_partition_for_zero_copy_replication

Отключает запрос FREEZE PARTITION при репликации с нулевым копированием.

disk

Имя диска хранилища. Можно указать вместо политики хранения.

distributed_index_analysis_min_indexes_bytes_to_activate

Минимальный размер индексов на диске (индексов пропуска данных и первичного ключа, в несжатом виде), необходимый для активации распределённого анализа индексов

distributed_index_analysis_min_parts_to_activate

Минимальное количество частей для включения распределенного анализа индексов

dynamic_serialization_version

Версия сериализации для типа данных Dynamic. Требуется для совместимости. Возможные значения:
  • v1
  • v2
  • v3

enable_block_number_column

Включает сохранение столбца _block_number в каждой строке.

enable_block_offset_column

Сохраняет виртуальный столбец _block_offset во время слияний.

enable_index_granularity_compression

Сжимать хранящиеся в памяти значения гранулярности индекса, если это возможно

enable_max_bytes_limit_for_min_age_to_force_merge

Определяет, должны ли настройки min_age_to_force_merge_seconds и min_age_to_force_merge_on_partition_only учитывать настройку max_bytes_to_merge_at_max_space_in_pool. Возможные значения:
  • true
  • false

enable_mixed_granularity_parts

Включает или отключает использование настройки index_granularity_bytes для управления размером гранул. До версии 19.11 для ограничения размера гранул существовала только настройка index_granularity. Настройка index_granularity_bytes повышает производительность ClickHouse при выборке данных из таблиц с большими строками (десятки и сотни мегабайт). Если у вас есть таблицы с большими строками, включите эту настройку для этих таблиц, чтобы повысить эффективность запросов SELECT.

enable_replacing_merge_with_cleanup_for_min_age_to_force_merge

Использовать ли CLEANUP-слияния для ReplacingMergeTree при слиянии партиций в одну часть. Требует включения allow_experimental_replacing_merge_with_cleanup, min_age_to_force_merge_seconds и min_age_to_force_merge_on_partition_only. Возможные значения:
  • true
  • false

enable_the_endpoint_id_with_zookeeper_name_prefix

Включает использование Endpoint ID с префиксом имени ZooKeeper для таблиц ReplicatedMergeTree.

enable_vertical_merge_algorithm

Включает использование алгоритма вертикального слияния.

enforce_index_structure_match_on_partition_manipulation

Если этот параметр включен для целевой таблицы в запросе манипулирования партицией (ATTACH/MOVE/REPLACE PARTITION), индексы и проекции в исходной и целевой таблицах должны быть идентичны. В противном случае целевая таблица может содержать надмножество индексов и проекций исходной таблицы.

escape_index_filenames

До версии 26.1 мы не экранировали специальные символы в именах файлов, создаваемых для вторичных индексов, что могло вызывать проблемы: некоторые символы в именах индексов могли приводить к повреждению частей. Этот параметр добавлен исключительно из соображений совместимости. Не следует изменять его значение, если только вы не читаете старые части с индексами, в именах которых используются не-ASCII-символы.

escape_variant_subcolumn_filenames

Экранировать специальные символы в именах файлов, создаваемых для подстолбцов типа данных Variant в частях Wide таблицы MergeTree. Необходимо для совместимости.

exclude_deleted_rows_for_part_size_in_merge

Если настройка включена, при выборе частей для слияния будет использоваться оценка фактического размера частей данных (то есть без учета строк, удаленных с помощью DELETE FROM). Обратите внимание, что это поведение срабатывает только для частей данных, затронутых DELETE FROM, выполненным после включения этой настройки. Возможные значения:
  • true
  • false
См. также

exclude_materialize_skip_indexes_on_merge

Исключает указанный список индексов пропуска данных, разделённых запятыми, из построения и сохранения во время слияний. Не действует, если materialize_skip_indexes_on_merge имеет значение false. Исключённые индексы пропуска данных всё равно будут строиться и сохраняться явным запросом MATERIALIZE INDEX или во время INSERT, в зависимости от настройки сеанса materialize_skip_indexes_on_insert. Пример:
CREATE TABLE tab
(
a UInt64,
b UInt64,
INDEX idx_a a TYPE minmax,
INDEX idx_b b TYPE set(3)
)
ENGINE = MergeTree ORDER BY tuple() SETTINGS exclude_materialize_skip_indexes_on_merge = 'idx_a';

INSERT INTO tab SELECT number, number / 50 FROM numbers(100); -- параметр не влияет на операции INSERT

-- idx_a не будет обновляться при фоновом или явном слиянии через OPTIMIZE TABLE FINAL

-- можно исключить несколько индексов, указав их списком
ALTER TABLE tab MODIFY SETTING exclude_materialize_skip_indexes_on_merge = 'idx_a, idx_b';

-- значение по умолчанию: при слиянии обновляются все индексы
ALTER TABLE tab MODIFY SETTING exclude_materialize_skip_indexes_on_merge = '';

execute_merges_on_single_replica_time_threshold

Если значение этой настройки больше нуля, только одна реплика сразу запускает слияние, а остальные реплики в течение этого времени ждут, чтобы скачать результат вместо выполнения слияния локально. Если выбранная реплика не завершит слияние за это время, произойдёт возврат к стандартному поведению. Возможные значения:
  • Любое положительное целое число.

fault_probability_after_part_commit

Для тестирования. Не изменяйте.

fault_probability_before_part_commit

Для тестирования. Не изменяйте.

finished_mutations_to_keep

Сколько записей о завершённых мутациях хранить. Если указано ноль, то хранить их все.

force_read_through_cache_for_merges

Принудительное чтение через файловый кэш при слияниях

fsync_after_insert

Выполнять fsync для каждой добавленной части. Значительно снижает производительность вставок, не рекомендуется использовать с частями Wide.

fsync_part_directory

Выполнять fsync для каталога части после всех операций с частью (записи, переименования и т. д.).

in_memory_parts_enable_wal

Устаревшая настройка, не имеет эффекта.

in_memory_parts_insert_sync

Устаревшая настройка, не имеет эффекта.

inactive_parts_to_delay_insert

Если число неактивных частей в одной партиции таблицы превышает значение inactive_parts_to_delay_insert, операция INSERT искусственно замедляется.
Полезно, если сервер не успевает достаточно быстро удалять части.
Возможные значения:
  • Любое положительное целое число.

inactive_parts_to_throw_insert

Если количество неактивных частей в одной партиции превышает значение inactive_parts_to_throw_insert, выполнение INSERT прерывается со следующей ошибкой:
Исключение: “Слишком много неактивных частей (N). Очистка частей происходит значительно медленнее, чем вставки.”
Возможные значения:
  • Любое положительное целое число.

index_granularity

Максимальное количество строк данных между отметками индекса. То есть сколько строк приходится на одно значение первичного ключа.

index_granularity_bytes

Максимальный размер гранул данных в байтах. Чтобы размер гранулы ограничивался только количеством строк, установите значение 0 (не рекомендуется).

initialization_retry_period

Период повторной попытки инициализации таблицы, в секундах.

kill_delay_period

Устаревшая настройка, не имеет эффекта.

kill_delay_period_random_add

Устаревшая настройка, не имеет эффекта.

kill_threads

Устаревшая настройка, не имеет эффекта.

lightweight_mutation_projection_mode

По умолчанию легковесное удаление DELETE не работает для таблиц с проекциями. Это связано с тем, что операция DELETE может затрагивать строки в проекции. Поэтому значением по умолчанию является throw. Однако этот параметр может изменить поведение. При значении drop или rebuild удаление будет работать с проекциями. drop удаляет проекцию, поэтому это может ускорить текущий запрос, так как проекция будет удалена, но замедлить последующие запросы, поскольку проекция больше не будет доступна. rebuild перестраивает проекцию, что может повлиять на производительность текущего запроса, но ускорить последующие запросы. Важно, что эти варианты работают только на уровне частей: проекции в тех частях, которые не были затронуты, останутся без изменений, и для них не будет запускаться никаких действий, таких как drop или rebuild. Возможные значения:
  • throw
  • drop
  • rebuild

load_existing_rows_count_for_old_parts

Если эта настройка включена вместе с exclude_deleted_rows_for_part_size_in_merge, количество удалённых строк для существующих частей данных будет вычисляться при запуске таблицы. Обратите внимание, что это может замедлить загрузку таблицы при запуске. Возможные значения:
  • true
  • false
См. также

lock_acquire_timeout_for_background_operations

Для фоновых операций, таких как слияния, мутации и т. д.: сколько секунд ждать, прежде чем завершить попытку получить блокировки таблицы с ошибкой.

map_buckets_coefficient

Коэффициент, используемый в map_buckets_strategy sqrt и linear для вычисления количества бакетов на основе среднего размера Map. Для стратегии sqrt: round(map_buckets_coefficient * sqrt(avg_map_size)). Для стратегии linear: round(map_buckets_coefficient * avg_map_size). Игнорируется, если map_buckets_strategy имеет значение constant.

map_buckets_min_avg_size

Минимальный средний размер Map (число ключей на строку), необходимый для применения сериализации with_buckets. Если средний размер Map меньше этого значения, независимо от других настроек бакетов используется один бакет. Значение 0 отключает этот порог и всегда применяет стратегию разбиения по бакетам. Эта настройка позволяет избежать накладных расходов на сериализацию с бакетами для небольших Map, где выигрыш от нее незначителен.

map_buckets_strategy

Управляет стратегией выбора количества бакетов в сериализации Map with_buckets на основе среднего размера Map. Возможные значения:
  • constant — Всегда использовать max_buckets_in_map в качестве количества бакетов независимо от среднего размера Map.
  • sqrt — Использовать round(map_buckets_coefficient * sqrt(avg_map_size)) в качестве количества бакетов с ограничением в диапазоне [1, max_buckets_in_map].
  • linear — Использовать round(map_buckets_coefficient * avg_map_size) в качестве количества бакетов с ограничением в диапазоне [1, max_buckets_in_map].

map_serialization_version

Управляет методом сериализации, используемым для столбцов Map. Возможные значения:
  • basic — Использовать стандартную сериализацию для Map.
  • with_buckets — Разбивать ключи по бакетам при сериализации. Использование бакетов улучшает чтение отдельных ключей из Map.
Количество бакетов при сериализации with_buckets определяется параметрами max_buckets_in_map и map_buckets_strategy.

map_serialization_version_for_zero_level_parts

Эта настройка позволяет указать другую версию сериализации столбцов Map для частей нулевого уровня, создаваемых при вставках. Её можно использовать, чтобы сохранить сериализацию basic для частей нулевого уровня и избежать снижения производительности при вставках, одновременно используя with_buckets для слитых частей.

marks_compress_block_size

Размер блока сжатия для marks: фактический размер сжимаемого блока.

marks_compression_codec

Для marks используется кодек сжатия; marks достаточно малы и кэшируются, поэтому по умолчанию используется сжатие ZSTD(3).

materialize_skip_indexes_on_merge

Если настройка включена, при слиянии для новых частей создаются и сохраняются индексы пропуска. В противном случае они могут быть созданы/сохранены явной командой MATERIALIZE INDEX или при INSERT. См. также exclude_materialize_skip_indexes_on_merge для более точного управления.

materialize_statistics_on_merge

Если включено, при слиянии для новых частей будут создаваться и сохраняться статистики. В противном случае их можно создать/сохранить с помощью явной команды MATERIALIZE STATISTICS или при INSERT

materialize_ttl_recalculate_only

Пересчитывать информацию TTL только при MATERIALIZE TTL

max_avg_part_size_for_too_many_parts

Проверка «слишком много частей» в соответствии с ‘parts_to_delay_insert’ и ‘parts_to_throw_insert’ будет выполняться, только если средний размер части (в соответствующей партиции) не превышает указанный порог. Если он превышает указанный порог, операции INSERT не будут ни задерживаться, ни отклоняться. Это позволяет хранить сотни терабайт в одной таблице на одном сервере, если части успешно сливаются в более крупные. Это не влияет на пороги для неактивных частей или общего числа частей.

max_buckets_in_map

Максимальное количество бакетов для сериализации Map. Работает с сериализацией Map with_buckets. Фактическое количество бакетов определяется параметром map_buckets_strategy. Максимально допустимое значение — 256.

max_bytes_to_merge_at_max_space_in_pool

Максимальный суммарный размер частей (в байтах), которые могут быть объединены в одну часть, если доступно достаточно ресурсов. Примерно соответствует максимально возможному размеру части, создаваемой автоматическим фоновым слиянием. (0 означает, что слияния будут отключены) Возможные значения:
  • Любое неотрицательное целое число.
Планировщик слияний периодически анализирует размеры и количество частей в партициях и, если в пуле достаточно свободных ресурсов, запускает фоновые слияния. Слияния выполняются до тех пор, пока суммарный размер исходных частей не превысит max_bytes_to_merge_at_max_space_in_pool. Слияния, инициированные командой OPTIMIZE FINAL, игнорируют max_bytes_to_merge_at_max_space_in_pool (учитывается только свободное место на диске).

max_bytes_to_merge_at_min_space_in_pool

Максимальный суммарный размер частей (в байтах), которые могут быть слиты в одну часть при минимуме доступных ресурсов в фоновом пуле. Возможные значения:
  • Любое положительное целое число.
max_bytes_to_merge_at_min_space_in_pool определяет максимальный суммарный размер частей, которые могут быть слиты даже при нехватке доступного места на диске (в пуле). Это необходимо, чтобы уменьшить количество мелких частей и вероятность ошибок Too many parts. Слияния резервируют место на диске в объёме, вдвое превышающем суммарный размер сливаемых частей. Поэтому при небольшом объёме свободного места на диске может возникнуть ситуация, когда свободное место есть, но оно уже зарезервировано выполняющимися крупными слияниями, из-за чего другие слияния не могут начаться, а количество мелких частей растёт с каждой вставкой.

max_cleanup_delay_period

Максимальный период очистки старых журналов очереди, хешей блоков и частей.

max_compress_block_size

Максимальный размер blocks несжатых данных перед сжатием при записи в table. Эту настройку также можно указать в глобальных настройках (см. настройку max_compress_block_size). Значение, указанное при создании table, переопределяет глобальное значение этой настройки.

max_concurrent_queries

Максимальное количество запросов, одновременно выполняемых для таблицы MergeTree. Запросы по-прежнему будут ограничиваться другими настройками max_concurrent_queries. Возможные значения:
  • Положительное целое число.
  • 0 — Без ограничений.
Значение по умолчанию: 0 (без ограничений). Пример
<max_concurrent_queries>50</max_concurrent_queries>

max_delay_to_insert

Значение в секундах, используемое для вычисления задержки 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

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

max_digestion_size_per_segment

Устаревшая настройка, не имеет эффекта.

max_file_name_length

Максимальная длина имени файла, при которой оно сохраняется в исходном виде, без хеширования. Действует только если включена настройка replace_long_file_name_to_hash. Значение этой настройки не включает длину расширения файла. Поэтому рекомендуется задавать его ниже максимальной длины имени файла (обычно 255 байт), оставляя некоторый запас, чтобы избежать ошибок файловой системы.

max_files_to_modify_in_alter_columns

Не выполнять ALTER, если количество файлов для изменения (удаления, добавления) превышает значение этой настройки. Возможные значения:
  • Любое положительное целое число.
Значение по умолчанию: 75

max_files_to_remove_in_alter_columns

Не выполнять ALTER, если число файлов, подлежащих удалению, превышает это значение. Возможные значения:
  • Любое положительное целое число.

max_merge_delayed_streams_for_parallel_write

Максимальное количество потоков (столбцов), которые могут быть сброшены на диск параллельно (аналог max_insert_delayed_streams_for_parallel_write для слияний). Работает только для Вертикальных слияний.

max_merge_selecting_sleep_ms

Максимальное время ожидания перед повторной попыткой выбрать части для слияния, если ранее не было выбрано ни одной части. Меньшее значение настройки будет чаще запускать задачи выбора в background_schedule_pool, что приведёт к большому количеству запросов к ZooKeeper в крупных кластерах

max_number_of_merges_with_ttl_in_pool

Если количество слияний с TTL в пуле превышает указанное значение, не назначайте новое слияние с TTL. Это нужно, чтобы оставить свободные потоки для обычных слияний и избежать ошибки “Слишком много частей”

max_number_of_mutations_for_replica

Ограничивает количество мутаций частей для каждой реплики указанным значением. Ноль означает, что количество мутаций для каждой реплики не ограничено (выполнение по-прежнему может ограничиваться другими настройками).

max_part_loading_threads

Устаревшая настройка, не имеет эффекта.

max_part_removal_threads

Устаревшая настройка, не имеет эффекта.

max_partitions_to_read

Ограничивает максимальное количество партиций, к которым можно обратиться в рамках одного запроса. Значение настройки, указанное при создании таблицы, можно переопределить настройкой на уровне запроса. Возможные значения:
  • Любое положительное целое число.
Эту настройку сложности запроса max_partitions_to_read также можно задать на уровне запроса / сеанса / профиля.

max_parts_in_total

Если общее количество активных частей во всех партициях таблицы превышает значение max_parts_in_total, выполнение INSERT прерывается с исключением Too many parts (N). Возможные значения:
  • Любое положительное целое число.
Большое количество частей в таблице снижает производительность запросов ClickHouse и увеличивает время запуска ClickHouse. Чаще всего это является следствием некорректного проектирования (ошибок при выборе стратегии партиционирования — слишком маленькие партиции).

max_parts_to_merge_at_once

Максимальное количество частей, которые могут быть слиты одновременно (0 — отключено). Не влияет на запрос OPTIMIZE FINAL.

max_postpone_time_for_failed_mutations_ms

Максимальное время отсрочки для неудачных мутаций.

max_postpone_time_for_failed_replicated_fetches_ms

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

max_postpone_time_for_failed_replicated_merges_ms

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

max_postpone_time_for_failed_replicated_tasks_ms

Максимальное время откладывания для завершившейся с ошибкой реплицируемой задачи. Значение используется, если задача не является fetch, слиянием или мутацией.

max_projections

Максимальное количество проекций в MergeTree.

max_replicated_fetches_network_bandwidth

Ограничивает максимальную скорость обмена данными по сети в байтах в секунду для реплицируемых загрузок. Эта настройка применяется к конкретной таблице, в отличие от настройки max_replicated_fetches_network_bandwidth_for_server, которая применяется на уровне сервера. Можно ограничить как сетевой трафик сервера, так и сетевой трафик для конкретной таблицы, но для этого значение настройки на уровне таблицы должно быть меньше, чем на уровне сервера. В противном случае сервер учитывает только настройку max_replicated_fetches_network_bandwidth_for_server. Настройка соблюдается не абсолютно точно. Возможные значения:
  • Положительное целое число.
  • 0 — Без ограничений.
Значение по умолчанию: 0. Использование Может использоваться для ограничения скорости при репликации данных при добавлении новых узлов или замене существующих.

max_replicated_logs_to_keep

Сколько записей может быть в журнале ClickHouse Keeper при наличии неактивной реплики. Когда это число превышено, неактивная реплика считается потерянной. Возможные значения:
  • Любое положительное целое число.

max_replicated_merges_in_queue

Сколько задач по слиянию и мутации частей может одновременно находиться в очереди ReplicatedMergeTree.

max_replicated_merges_with_ttl_in_queue

Сколько задач по слиянию частей с TTL может одновременно находиться в очереди ReplicatedMergeTree.

max_replicated_mutations_in_queue

Сколько задач по мутации частей может одновременно находиться в очереди ReplicatedMergeTree.

max_replicated_sends_network_bandwidth

Ограничивает максимальную скорость обмена данными по сети в байтах в секунду при отправке данных реплицируемых таблиц. Эта настройка применяется к конкретной таблице, в отличие от настройки max_replicated_sends_network_bandwidth_for_server, которая применяется к серверу. Можно ограничить как сетевой трафик сервера, так и трафик для конкретной таблицы, но для этого значение настройки на уровне таблицы должно быть меньше, чем на уровне сервера. В противном случае сервер учитывает только настройку max_replicated_sends_network_bandwidth_for_server. Эта настройка соблюдается не абсолютно точно. Возможные значения:
  • Положительное целое число.
  • 0 — Без ограничений.
Использование Может использоваться для ограничения скорости при репликации данных при добавлении или замене новых узлов.

max_suspicious_broken_parts

Если число поврежденных частей в одной партиции превышает значение max_suspicious_broken_parts, автоматическое удаление запрещается. Возможные значения:
  • Любое положительное целое число.

max_suspicious_broken_parts_bytes

Максимальный суммарный размер всех повреждённых частей; при превышении этого значения автоматическое удаление запрещается. Возможные значения:
  • Любое положительное целое число.

max_uncompressed_bytes_in_patches

Максимальный размер данных в несжатом виде во всех патч-частях, в байтах. Если объем данных во всех патч-частях превышает это значение, легковесные обновления будут отклонены. 0 — без ограничений.

merge_max_block_size

Количество строк, считываемых в память из слитых частей. Возможные значения:
  • Любое положительное целое число.
Во время слияния строки считываются из частей блоками по merge_max_block_size строк, затем сливаются, а результат записывается в новую часть. Считанный блок помещается в оперативную память, поэтому merge_max_block_size влияет на объём оперативной памяти, необходимой для слияния. Таким образом, слияния могут потреблять большой объём оперативной памяти в таблицах с очень широкими строками (если средний размер строки — 100 КБ, то при слиянии 10 частей (100kb * 10 * 8192) = ~ 8GB оперативной памяти). Уменьшая merge_max_block_size, можно сократить объём оперативной памяти, необходимой для слияния, но замедлить сам процесс слияния.

merge_max_block_size_bytes

Сколько байт должно содержаться в блоках, формируемых для операций слияния. По умолчанию имеет то же значение, что и index_granularity_bytes.

merge_max_bytes_to_prewarm_cache

Доступно только в ClickHouse Cloud. Максимальный размер части (компактный или packed), для которой выполняется предварительный прогрев кэша при слиянии.

merge_max_dynamic_subcolumns_in_compact_part

Максимальное количество динамических подстолбцов, которое может быть создано в каждом столбце компактной части данных после слияния. Позволяет управлять количеством динамических подстолбцов в компактной части данных независимо от динамических параметров, указанных в типе данных. Например, если в таблице есть столбец типа JSON(max_dynamic_paths=1024), а значение настройки merge_max_dynamic_subcolumns_in_compact_part равно 128, то после слияния в компактную часть данных количество динамических путей в этой части будет уменьшено до 128, и только 128 путей будут записаны как динамические подстолбцы.

merge_max_dynamic_subcolumns_in_wide_part

Максимальное количество динамических подстолбцов, которые могут быть созданы в каждом столбце в Wide-части данных после слияния. Позволяет уменьшить количество файлов, создаваемых в Wide-части данных, независимо от динамических параметров, указанных в типе данных. Например, если в таблице есть столбец типа JSON(max_dynamic_paths=1024), а значение настройки merge_max_dynamic_subcolumns_in_wide_part равно 128, то после слияния в Wide-часть данных количество динамических путей в этой части будет уменьшено до 128, и только 128 путей будут записаны как динамические подстолбцы.

merge_selecting_sleep_ms

Минимальное время ожидания перед повторной попыткой выбрать части для слияния, если ранее ни одна часть не была выбрана. Меньшее значение настройки будет чаще запускать задачи выбора в background_schedule_pool, что приведёт к большому количеству запросов к ZooKeeper в крупных кластерах

merge_selecting_sleep_slowdown_factor

Время ожидания задачи выбора слияния умножается на этот коэффициент, когда слияний для выполнения нет, и делится на него, когда слияние назначено

merge_selector_algorithm

Алгоритм выбора частей для слияния

merge_selector_base

Влияет на усиление записи для назначенных слияний (настройка экспертного уровня; не изменяйте её, если не понимаете, как она работает). Применяется к селекторам слияний Simple и StochasticSimple

merge_selector_blurry_base_scale_factor

Определяет, при каком количестве частей в партиции начинает применяться эта логика. Чем больше коэффициент, тем позже будет срабатывать реакция.

merge_selector_enable_heuristic_to_lower_max_parts_to_merge_at_once

Включает эвристику для простого селектора слияний, уменьшающую максимальный лимит при выборе слияний. Это увеличивает количество параллельных слияний, что может помочь при ошибках TOO_MANY_PARTS, но при этом повышает усиление записи.

merge_selector_enable_heuristic_to_remove_small_parts_at_right

Включает эвристику выбора частей для слияния, которая удаляет части с правой стороны диапазона, если их размер меньше указанной доли (0.01) от sum_size. Работает для селекторов слияний Simple и StochasticSimple

merge_selector_heuristic_to_lower_max_parts_to_merge_at_once_exponent

Управляет значением экспоненты, используемым в формулах для построения кривой снижения. Уменьшение экспоненты уменьшает ширину слияний, что приводит к увеличению усиления записи. Верно и обратное.

merge_selector_window_size

Сколько частей обрабатывать одновременно.

merge_total_max_bytes_to_prewarm_cache

Доступно только в ClickHouse Cloud. Максимальный общий размер частей для предварительного прогрева кэша при слиянии.

merge_tree_clear_old_broken_detached_parts_ttl_timeout_seconds

Устаревшая настройка, не имеет эффекта.

merge_tree_clear_old_parts_interval_seconds

Задаёт интервал в секундах, через который ClickHouse выполняет очистку старых частей, WAL и мутаций. Возможные значения:
  • Любое положительное целое число.

merge_tree_clear_old_temporary_directories_interval_seconds

Задаёт интервал в секундах, с которым ClickHouse выполняет очистку старых временных каталогов. Возможные значения:
  • Любое положительное целое число.

merge_tree_enable_clear_old_broken_detached

Устаревшая настройка, не имеет эффекта.

merge_with_recompression_ttl_timeout

Минимальная задержка в секундах перед повторным слиянием с TTL для повторного сжатия.

merge_with_ttl_timeout

Минимальная задержка в секундах перед повторным выполнением слияния с delete TTL.

merge_workload

Используется для регулирования использования и распределения ресурсов между слияниями и другими рабочими нагрузками. Указанное значение используется в качестве значения настройки workload для фоновых слияний этой таблицы. Если значение не указано (пустая строка), вместо него используется настройка сервера merge_workload. См. также

min_absolute_delay_to_close

Минимальная абсолютная задержка, по истечении которой сервис должен закрыться, прекратить обрабатывать запросы и не возвращать Ok при проверке status.

min_age_to_force_merge_on_partition_only

Определяет, следует ли применять min_age_to_force_merge_seconds только ко всей партиции, а не к её подмножеству. По умолчанию игнорирует настройку max_bytes_to_merge_at_max_space_in_pool (см. enable_max_bytes_limit_for_min_age_to_force_merge). Возможные значения:
  • true, false

min_age_to_force_merge_seconds

Объединяет части, если все части в диапазоне старше значения min_age_to_force_merge_seconds. По умолчанию игнорирует настройку max_bytes_to_merge_at_max_space_in_pool (см. enable_max_bytes_limit_for_min_age_to_force_merge). Возможные значения:
  • Положительное целое число.

min_bytes_for_compact_part

Устаревшая настройка, не имеет эффекта.

min_bytes_for_full_part_storage

Доступно только в ClickHouse Cloud. Минимальный размер части данных в несжатом виде в байтах, при котором для неё используется полный тип хранилища вместо packed

min_bytes_for_wide_part

Минимальное количество байтов/строк в части данных, которая может храниться в формате Wide. Можно задать один, оба или ни один из этих параметров.

min_bytes_to_prewarm_caches

Минимальный размер (в несжатых байтах), начиная с которого для новых частей выполняется предварительный прогрев кэша меток и кэша первичного индекса

min_bytes_to_rebalance_partition_over_jbod

Задает минимальный объем данных в байтах, при котором включается балансировка при распределении новых крупных частей по дискам тома JBOD. Возможные значения:
  • Положительное целое число.
  • 0 — балансировка отключена.
Использование Значение настройки min_bytes_to_rebalance_partition_over_jbod должно быть не меньше значения max_bytes_to_merge_at_max_space_in_pool / 1024. В противном случае ClickHouse генерирует исключение.

min_columns_to_activate_adaptive_write_buffer

Позволяет снизить использование памяти в таблицах с большим количеством столбцов за счет адаптивных буферов записи. Возможные значения:
  • 0 - без ограничений
  • 1 - всегда включен

min_compress_block_size

Минимальный размер блоков несжатых данных, необходимый для сжатия при записи следующей отметки. Этот параметр также можно указать в глобальных настройках (см. параметр min_compress_block_size). Значение, указанное при создании таблицы, переопределяет глобальное значение для этого параметра.

min_compressed_bytes_to_fsync_after_fetch

Минимальное количество сжатых байтов для выполнения fsync части после fetch (0 — отключено)

min_compressed_bytes_to_fsync_after_merge

Минимальное количество сжатых байтов, при котором для части после слияния выполняется fsync (0 — отключено)

min_delay_to_insert_ms

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

min_delay_to_mutate_ms

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

min_free_disk_bytes_to_perform_insert

Минимальное количество байтов, которое должно быть свободно на диске для вставки данных. Если число доступных свободных байтов меньше min_free_disk_bytes_to_perform_insert, генерируется исключение, и вставка не выполняется. Обратите внимание, что этот параметр:
  • учитывает параметр keep_free_space_bytes.
  • не учитывает объём данных, который будет записан операцией INSERT.
  • проверяется только если указано положительное (ненулевое) количество байтов
Возможные значения:
  • Любое положительное целое число.
Если заданы и min_free_disk_bytes_to_perform_insert, и min_free_disk_ratio_to_perform_insert, ClickHouse будет ориентироваться на значение, которое позволит выполнять вставки при большем объёме свободного места.

min_free_disk_ratio_to_perform_insert

Минимальное отношение свободного места на диске к общему объёму дискового пространства, необходимое для выполнения INSERT. Должно быть значением с плавающей запятой в диапазоне от 0 до 1. Обратите внимание, что эта настройка:
  • учитывает настройку keep_free_space_bytes.
  • не учитывает объём данных, который будет записан в ходе операции INSERT.
  • проверяется только если указано положительное (ненулевое) значение отношения
Возможные значения:
  • Float, 0.0 - 1.0
Обратите внимание: если заданы и min_free_disk_ratio_to_perform_insert, и min_free_disk_bytes_to_perform_insert, ClickHouse будет ориентироваться на значение, которое позволит выполнять вставки при большем объёме свободной памяти.

min_index_granularity_bytes

Минимально допустимый размер гранул данных в байтах. Служит защитой от случайного создания таблиц со слишком низким значением index_granularity_bytes.

min_level_for_full_part_storage

Доступно только в ClickHouse Cloud. Минимальный уровень части данных, при котором используется полный тип хранения вместо packed

min_level_for_wide_part

Минимальный уровень части данных, при котором она создаётся в формате Wide вместо Compact.

min_marks_to_honor_max_concurrent_queries

Минимальное количество marks, которое должен прочитать запрос, чтобы применялась настройка max_concurrent_queries.
Запросы всё равно будут ограничиваться другими настройками max_concurrent_queries.
Возможные значения:
  • Положительное целое число.
  • 0 — отключено (ограничение max_concurrent_queries не применяется ни к одному запросу).
Пример
<min_marks_to_honor_max_concurrent_queries>10</min_marks_to_honor_max_concurrent_queries>

min_merge_bytes_to_use_direct_io

Минимальный объём данных для операции слияния, при котором используется прямой I/O-доступ к диску хранилища. При слиянии частей ClickHouse вычисляет суммарный объём всех данных, подлежащих слиянию. Если этот объём превышает min_merge_bytes_to_use_direct_io байт, ClickHouse читает и записывает данные на диск хранилища через интерфейс прямого I/O (параметр O_DIRECT). Если min_merge_bytes_to_use_direct_io = 0, прямой I/O отключён.

min_parts_to_merge_at_once

Минимальное количество частей данных, которые селектор слияний может выбрать для одновременного слияния (настройка экспертного уровня; не изменяйте её, если не понимаете, как она работает). 0 — отключено. Работает для селекторов слияний Simple и StochasticSimple.

min_relative_delay_to_close

Минимальная задержка относительно других реплик, при которой узел должен закрыться, прекратить обслуживать запросы и не возвращать Ok при проверке status.

min_relative_delay_to_measure

Вычислять относительную задержку реплики, только если абсолютная задержка не меньше этого значения.

min_relative_delay_to_yield_leadership

Устаревшая настройка; не имеет эффекта.

min_replicated_logs_to_keep

Хранить примерно такое количество последних записей в журнале ZooKeeper, даже если они устаревшие. На работу таблиц это не влияет: используется только для диагностики журнала ZooKeeper перед очисткой. Возможные значения:
  • Любое положительное целое число.

min_rows_for_compact_part

Устаревшая настройка, не имеет эффекта.

min_rows_for_full_part_storage

Доступно только в ClickHouse Cloud. Минимальное количество строк, при котором для data part используется полный тип хранения вместо packed

min_rows_for_wide_part

Минимальное количество строк для создания части данных в формате Wide вместо Compact.

min_rows_to_fsync_after_merge

Минимальное количество строк, при котором для части после слияния выполняется fsync (0 — отключено)

mutation_workload

Используется для управления тем, как ресурсы используются и распределяются между мутациями и другими рабочими нагрузками. Указанное значение используется в качестве значения настройки workload для фоновых мутаций этой таблицы. Если оно не указано (пустая строка), вместо него используется настройка сервера mutation_workload. См. также

non_replicated_deduplication_window

Количество последних вставленных blocks в нереплицируемой таблице MergeTree, для которых сохраняются хеш-суммы для проверки дубликатов. Возможные значения:
  • Любое положительное целое число.
  • 0 (отключает дедупликацию).
Используется механизм дедупликации, аналогичный механизму в реплицируемых таблицах (см. настройку replicated_deduplication_window). Хеш-суммы созданных частей записываются в локальный файл на диске.

notify_newest_block_number

Уведомлять SharedJoin или SharedSet о номере последнего блока. Только в ClickHouse Cloud.

nullable_serialization_version

Управляет методом сериализации для столбцов Nullable(T). Возможные значения:
  • basic — использовать стандартную сериализацию для Nullable(T).
  • allow_sparse — разрешить использование разреженного кодирования для Nullable(T).

number_of_free_entries_in_pool_to_execute_mutation

Если количество свободных слотов в пуле меньше указанного, не выполнять мутации частей. Это нужно, чтобы оставить свободные потоки для обычных слияний и избежать ошибок «Too many parts». Возможные значения:
  • Любое положительное целое число.
Использование Значение настройки number_of_free_entries_in_pool_to_execute_mutation должно быть меньше значения background_pool_size

number_of_free_entries_in_pool_to_execute_optimize_entire_partition

Если количество свободных слотов в пуле меньше указанного, не выполнять оптимизацию всей партиции в фоновом режиме (эта задача создаётся, если задано min_age_to_force_merge_seconds и включено min_age_to_force_merge_on_partition_only). Это нужно, чтобы оставить свободные потоки для обычных слияний и избежать ошибки “Too many parts”. Возможные значения:
  • Положительное целое число.
Значение настройки number_of_free_entries_in_pool_to_execute_optimize_entire_partition должно быть меньше значения background_pool_size

number_of_free_entries_in_pool_to_lower_max_size_of_merge

Если количество свободных слотов в пуле (или в реплицируемой очереди) меньше указанного, начинает уменьшаться максимальный размер слияния для обработки (или для постановки в очередь). Это нужно для того, чтобы можно было выполнять небольшие слияния, не заполняя пул долго выполняющимися слияниями. Возможные значения:
  • Любое положительное целое число.

number_of_mutations_to_delay

Если в таблице есть как минимум столько незавершённых мутаций, мутации таблицы будут искусственно замедлены. Отключено, если установлено значение 0

number_of_mutations_to_throw

Если в таблице есть как минимум столько незавершённых мутаций, генерируется исключение ‘Too many mutations’. Отключено, если установлено значение 0

number_of_partitions_to_consider_for_merge

Доступно только в ClickHouse Cloud. Для слияния рассматривается не более N партиций. Партиции выбираются случайным образом с учетом весов, где вес определяется количеством частей данных, которые можно слить в этой партиции.

object_serialization_version

Версия сериализации для типа данных JSON. Используется для обеспечения совместимости. Возможные значения:
  • v1
  • v2
  • v3
Только версия v3 поддерживает изменение версии сериализации общих данных.

object_shared_data_buckets_for_compact_part

Количество бакетов для сериализации общих данных в JSON в компактных частях. Работает с сериализациями общих данных map_with_buckets и advanced. Максимально допустимое значение — 256.

object_shared_data_buckets_for_wide_part

Количество бакетов общих данных при JSON-сериализации в частях типа Wide. Работает с сериализациями общих данных map_with_buckets и advanced. Максимально допустимое значение — 256.

object_shared_data_serialization_version

Версия сериализации общих данных внутри типа данных JSON. Возможные значения:
  • map - хранить общие данные как Map(String, String)
  • map_with_buckets - хранить общие данные в виде нескольких отдельных столбцов Map(String, String). Использование бакетов улучшает чтение отдельных путей из общих данных.
  • advanced - специальная сериализация общих данных, предназначенная для значительного ускорения чтения отдельных путей из общих данных. Обратите внимание, что эта сериализация увеличивает объем общих данных, хранимых на диске, поскольку сохраняется большой объем дополнительной информации.
Количество бакетов для сериализаций map_with_buckets и advanced определяется настройками object_shared_data_buckets_for_compact_part/object_shared_data_buckets_for_wide_part.

object_shared_data_serialization_version_for_zero_level_parts

Эта настройка позволяет указать другую версию сериализации общих данных внутри JSON type для частей нулевого уровня, создаваемых при вставках. Рекомендуется не использовать сериализацию общих данных advanced для частей нулевого уровня, так как это может значительно увеличить время вставки.

old_parts_lifetime

Время хранения неактивных частей (в секундах), используемое для защиты от потери данных при внезапной перезагрузке сервера. Возможные значения:
  • Любое положительное целое число.
После слияния нескольких частей в новую часть ClickHouse помечает исходные части как неактивные и удаляет их только через old_parts_lifetime секунд. Неактивные части удаляются, если они не используются текущими запросами, то есть если refcount части равен 1. Для новых частей не вызывается fsync, поэтому некоторое время новые части существуют только в оперативной памяти сервера (кэше ОС). Если сервер внезапно перезагрузится, новые части могут быть потеряны или повреждены. Чтобы защитить данные, неактивные части не удаляются сразу. При запуске ClickHouse проверяет целостность частей. Если слитая часть повреждена, ClickHouse возвращает неактивные части в список активных и позже снова сливает их. Затем повреждённая часть переименовывается (добавляется префикс broken_) и перемещается в папку detached. Если слитая часть не повреждена, исходные неактивные части переименовываются (добавляется префикс ignored_) и перемещаются в папку detached. Значение dirty_expire_centisecs по умолчанию (параметр ядра Linux) — 30 секунд (максимальное время, в течение которого записанные данные хранятся только в оперативной памяти), но при высокой нагрузке на дисковую систему данные могут быть записаны значительно позже. Экспериментально для old_parts_lifetime было выбрано значение 480 секунд, за которое гарантированно выполняется запись новой части на диск.

optimize_row_order

Управляет тем, следует ли оптимизировать порядок строк при вставках, чтобы повысить сжимаемость вновь вставляемой части таблицы. Действует только для обычных таблиц с движком MergeTree. Для специализированных таблиц семейства MergeTree (например, CollapsingMergeTree) не применяется. Таблицы MergeTree могут (опционально) сжиматься с помощью кодеков сжатия. Универсальные кодеки сжатия, такие как LZ4 и ZSTD, обеспечивают максимальную степень сжатия, если в данных есть повторяющиеся шаблоны. Длинные последовательности одинаковых значений обычно сжимаются очень хорошо. Если этот параметр включен, ClickHouse пытается сохранять данные в новых вставляемых частях в таком порядке строк, который минимизирует количество последовательностей одинаковых значений в столбцах новой части таблицы. Иными словами, чем меньше таких последовательностей, тем длиннее каждая из них и тем лучше они сжимаются. Найти оптимальный порядок строк вычислительно неосуществимо (NP-трудная задача). Поэтому ClickHouse использует эвристику, чтобы быстро находить такой порядок строк, который всё же улучшает степень сжатия по сравнению с исходным порядком строк. Если параметр включен, операции вставки требуют дополнительных затрат CPU на анализ и оптимизацию порядка строк в новых данных. Ожидается, что INSERT будут выполняться на 30–50% дольше в зависимости от характеристик данных. Степень сжатия LZ4 или ZSTD в среднем улучшается на 20–40%. Этот параметр лучше всего работает для таблиц без первичного ключа или с первичным ключом низкой мощности, то есть для таблиц с небольшим числом различных значений первичного ключа. Для первичных ключей высокой мощности, например включающих столбцы временных меток типа DateTime64, заметного эффекта от этого параметра не ожидается.

part_minmax_index_columns

Определяет, какие столбцы охватывает индекс min-max для каждой части. Каждое следующее значение добавляет новую группу столбцов к предыдущему. Возможные значения:
  • partition_key_only — отслеживаются только столбцы ключа партиции.
  • with_block_number_offset — столбцы ключа партиции, а также сохранённые виртуальные столбцы _block_number и _block_offset. Позволяет отсеивать части по этим столбцам.

part_moves_between_shards_delay_seconds

Время ожидания до и после перемещения частей между сегментами.

part_moves_between_shards_enable

Экспериментальная, не полностью реализованная возможность перемещения частей между сегментами. Не учитывает выражения сегментирования.

parts_to_delay_insert

Если число активных частей в одной партиции превышает значение parts_to_delay_insert, выполнение INSERT искусственно замедляется. Возможные значения:
  • Любое положительное целое число.
ClickHouse искусственно увеличивает время выполнения INSERT (добавляет «sleep»), чтобы фоновый процесс слияния объединял части быстрее, чем они добавляются.

parts_to_throw_insert

Если число активных частей в одной партиции превышает значение parts_to_throw_insert, выполнение INSERT прерывается с исключением Too many parts (N). Merges are processing significantly slower than inserts. Возможные значения:
  • Любое положительное целое число.
Чтобы добиться максимальной производительности запросов SELECT, необходимо минимизировать количество обрабатываемых частей, см. Merge Tree. До версии 23.6 для этой настройки было установлено значение 300. Можно задать другое, более высокое значение — это снизит вероятность ошибки Too many parts, но при этом производительность SELECT может ухудшиться. Кроме того, в случае проблем со слиянием (например, из-за недостатка места на диске) вы заметите их позже, чем при исходном значении 300.

prefer_fetch_merged_part_size_threshold

Если суммарный размер частей превышает этот порог, а время с момента создания записи в журнале репликации больше, чем prefer_fetch_merged_part_time_threshold, то предпочтительнее получить слитую часть с реплики вместо локального выполнения слияния. Это позволяет ускорить очень долгие слияния. Возможные значения:
  • Любое положительное целое число.

prefer_fetch_merged_part_time_threshold

Если время, прошедшее с момента создания записи в журнале репликации (ClickHouse Keeper или ZooKeeper), превышает этот порог, а суммарный размер частей больше prefer_fetch_merged_part_size_threshold, то предпочтительнее получить слитую часть с реплики, а не выполнять слияние локально. Это позволяет ускорить очень длительные слияния. Возможные значения:
  • Любое положительное целое число.

prewarm_mark_cache

Если значение равно true, кэш меток будет предварительно прогреваться за счёт сохранения меток в кэше меток при вставках, слияниях, загрузках и при запуске сервера

prewarm_primary_key_cache

Если true, кэш первичного индекса будет предварительно прогреваться за счёт сохранения меток в кэше меток при вставках, слияниях, загрузке и при запуске сервера

primary_key_compress_block_size

Размер блока сжатия первичного ключа; фактический размер сжимаемого блока.

primary_key_compression_codec

Кодек сжатия, используемый для первичного ключа; поскольку первичный ключ достаточно мал и кэшируется, по умолчанию используется ZSTD(3).

primary_key_lazy_load

Загружать первичный ключ в память при первом использовании, а не при инициализации таблицы. Это может сэкономить память при наличии большого количества таблиц.

primary_key_ratio_of_unique_prefix_values_to_skip_suffix_columns

Если значение столбца первичного ключа в части данных изменяется хотя бы с такой частотой, пропускается загрузка следующих столбцов в память. Это позволяет экономить память, не загружая бесполезные столбцы первичного ключа.

propagate_types_serialization_versions_to_nested_types

Если true, версии сериализации, такие как string_serialization_version, будут распространяться на вложенные типы, такие как Array/Map/Nullable/JSON/etc. Если отключено, версия сериализации будет применяться только к столбцам верхнего уровня этого типа и Tuple el

ratio_of_defaults_for_sparse_serialization

Минимальное отношение количества значений по умолчанию к количеству всех значений в столбце. При таком значении столбец будет храниться с использованием разреженной сериализации. Если столбец разреженный (содержит в основном нули), ClickHouse может закодировать его в разреженном формате и автоматически оптимизировать вычисления — данным не требуется полная распаковка во время выполнения запросов. Чтобы включить эту разреженную сериализацию, задайте для настройки ratio_of_defaults_for_sparse_serialization значение меньше 1.0. Если значение больше или равно 1.0, столбцы всегда будут записываться с использованием обычной полной сериализации. Возможные значения:
  • Float в диапазоне от 0 до 1, чтобы включить разреженную сериализацию
  • 1.0 (или больше), если вы не хотите использовать разреженную сериализацию
Пример Обратите внимание, что в следующей таблице в столбце s у 95% строк указана пустая строка. В my_regular_table мы не используем разреженную сериализацию, а в my_sparse_table задаём ratio_of_defaults_for_sparse_serialization равным 0.95:
CREATE TABLE my_regular_table
(
`id` UInt64,
`s` String
)
ENGINE = MergeTree
ORDER BY id;

INSERT INTO my_regular_table
SELECT
number AS id,
number % 20 = 0 ? toString(number): '' AS s
FROM
numbers(10000000);

CREATE TABLE my_sparse_table
(
`id` UInt64,
`s` String
)
ENGINE = MergeTree
ORDER BY id
SETTINGS ratio_of_defaults_for_sparse_serialization = 0.95;

INSERT INTO my_sparse_table
SELECT
number,
number % 20 = 0 ? toString(number): ''
FROM
numbers(10000000);
Обратите внимание, что столбец s в my_sparse_table занимает меньше места на диске:
SELECT table, name, data_compressed_bytes, data_uncompressed_bytes FROM system.columns
WHERE table LIKE 'my_%_table';
┌─table────────────┬─name─┬─data_compressed_bytes─┬─data_uncompressed_bytes─┐
│ my_regular_table │ id   │              37790741 │                75488328 │
│ my_regular_table │ s    │               2451377 │                12683106 │
│ my_sparse_table  │ id   │              37790741 │                75488328 │
│ my_sparse_table  │ s    │               2283454 │                 9855751 │
└──────────────────┴──────┴───────────────────────┴─────────────────────────┘
Вы можете проверить, использует ли столбец разреженное кодирование, посмотрев значение в столбце serialization_kind таблицы system.parts_columns:
SELECT column, serialization_kind FROM system.parts_columns
WHERE table LIKE 'my_sparse_table';
Вы можете увидеть, какие части s были сохранены с помощью разреженной сериализации:
┌─column─┬─serialization_kind─┐
│ id     │ Default            │
│ s      │ Default            │
│ id     │ Default            │
│ s      │ Default            │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
└────────┴────────────────────┘

reduce_blocking_parts_sleep_ms

Доступно только в ClickHouse Cloud. Минимальное время ожидания перед повторной попыткой сократить число блокирующих частей, если не было удалено/заменено ни одного диапазона. Более низкое значение будет часто запускать задачи в background_schedule_pool, что приведёт к большому количеству запросов к ZooKeeper в крупных кластерах

refresh_parts_interval

Если значение больше нуля, обновляет список частей данных из базовой файловой системы, чтобы проверить, не были ли данные обновлены на более низком уровне. Может быть задано только в том случае, если таблица расположена на дисках только для чтения (это означает, что данная реплика доступна только для чтения, а запись данных выполняется другой репликой).

refresh_statistics_interval

Интервал обновления кэша статистики в секундах. При значении 0 обновление отключается.

remote_fs_execute_merges_on_single_replica_time_threshold

Если значение этой настройки больше нуля, слияние немедленно запускает только одна реплика, если слитая часть находится в общем хранилище.
Репликация с нулевым копированием не готова к использованию в продакшне Репликация с нулевым копированием отключена по умолчанию в ClickHouse версии 22.8 и выше.Эту возможность не рекомендуется использовать в продакшне.
Возможные значения:
  • Любое положительное целое число.

remote_fs_zero_copy_path_compatible_mode

Использовать zero-copy в режиме совместимости в процессе преобразования.

remote_fs_zero_copy_zookeeper_path

Путь в ZooKeeper для информации zero-copy, не привязанной к таблице.

remove_empty_parts

Удалять пустые части после того, как они были отсечены TTL, мутацией или алгоритмом схлопывающего слияния.

remove_rolled_back_parts_immediately

Настройка для незавершённой экспериментальной функции.

remove_unused_patch_parts

Удалять в фоновом режиме патч-части, применённые ко всем активным частям.

replace_long_file_name_to_hash

Если имя файла для столбца слишком длинное (более ‘max_file_name_length’ байт), оно заменяется на SipHash128

replicated_can_become_leader

Если true, реплики реплицируемых таблиц на этом узле будут пытаться стать лидером. Возможные значения:
  • true
  • false

replicated_deduplication_window

Количество последних вставленных блоков, для которых ClickHouse Keeper хранит хеш-суммы для проверки дубликатов. Возможные значения:
  • Любое положительное целое число.
  • 0 (отключает дедупликацию)
Команда Insert создаёт один или несколько блоков (частей). Для дедупликации вставок при записи в реплицируемые таблицы ClickHouse записывает хеш-суммы созданных частей в ClickHouse Keeper. Хеш-суммы хранятся только для последних replicated_deduplication_window блоков. Самые старые хеш-суммы удаляются из ClickHouse Keeper. Большое значение replicated_deduplication_window замедляет Inserts, поскольку приходится сравнивать больше записей. Хеш-сумма вычисляется на основе состава имён и типов полей, а также данных вставленной части (потока байтов).

replicated_deduplication_window_for_async_inserts

Количество последних блоков, вставленных асинхронно, для которых ClickHouse Keeper хранит хеш-суммы для проверки дубликатов. Возможные значения:
  • Любое положительное целое число.
  • 0 (отключает дедупликацию для async_inserts)
При выполнении команды Async Insert данные кэшируются в одном или нескольких блоках (частях). Для дедупликации вставок при записи в реплицируемые таблицы ClickHouse записывает хеш-суммы каждой вставки в ClickHouse Keeper. Хеш-суммы хранятся только для последних replicated_deduplication_window_for_async_inserts блоков. Самые старые хеш-суммы удаляются из ClickHouse Keeper. Большое значение replicated_deduplication_window_for_async_inserts замедляет Async Inserts, поскольку приходится сравнивать больше записей. Хеш-сумма вычисляется на основе набора имён и типов полей, а также данных вставки (потока байтов).

replicated_deduplication_window_seconds

Количество секунд, по истечении которых хеш-суммы вставленных блоков удаляются из ClickHouse Keeper. Возможные значения:
  • Любое положительное целое число.
Как и replicated_deduplication_window, replicated_deduplication_window_seconds задаёт, как долго хранить хеш- суммы блоков для дедупликации вставок. Хеш-суммы старше replicated_deduplication_window_seconds удаляются из ClickHouse Keeper, даже если они моложе, чем replicated_deduplication_window. Время отсчитывается относительно времени самой последней записи, а не относительно текущего времени. Если это единственная запись, она будет храниться вечно.

replicated_deduplication_window_seconds_for_async_inserts

Количество секунд, по истечении которых хеш-суммы асинхронных вставок удаляются из ClickHouse Keeper. Возможные значения:
  • Любое положительное целое число.
Подобно replicated_deduplication_window_for_async_inserts, replicated_deduplication_window_seconds_for_async_inserts задаёт, как долго хранить хеш-суммы блоков для дедупликации асинхронных вставок. Хеш-суммы старше replicated_deduplication_window_seconds_for_async_inserts удаляются из ClickHouse Keeper, даже если их число меньше, чем replicated_deduplication_window_for_async_inserts. Это время отсчитывается относительно времени самой последней записи, а не от текущего времени. Если запись только одна, она будет храниться вечно.

replicated_fetches_http_connection_timeout

Устаревшая настройка, не имеет эффекта.

replicated_fetches_http_receive_timeout

Устаревшая настройка, не имеет эффекта.

replicated_fetches_http_send_timeout

Устаревшая настройка, не имеет эффекта.

replicated_fetches_min_part_level

Минимальный уровень части для загрузки с других реплик. Части с уровнем ниже этого порога откладываются (остаются в очереди репликации и повторно проверяются в каждом цикле планирования, а не пропускаются навсегда). Используйте значение 1, чтобы отложить загрузку частей уровня 0 (ещё не слитых), снижая накладные расходы на репликацию при высокой ингестии. По умолчанию: 0 (загружать все части независимо от уровня).

replicated_fetches_min_part_level_timeout_seconds

Тайм-аут в секундах, по истечении которого часть с уровнем ниже replicated_fetches_min_part_level всё равно будет загружена. Используйте 0, чтобы отключить тайм-аут (части с уровнем ниже минимального откладываются на неопределённый срок до слияния). По умолчанию: 300 (принудительная загрузка через 5 минут).

replicated_max_mutations_in_one_entry

Максимальное количество команд мутации, которые можно объединить и выполнить в одной записи MUTATE_PART (0 означает неограниченное количество)

replicated_max_parallel_fetches

Устаревшая настройка; не имеет эффекта.

replicated_max_parallel_fetches_for_host

Устаревшая настройка, не имеет эффекта.

replicated_max_parallel_fetches_for_table

Устаревшая настройка, не имеет эффекта.

replicated_max_parallel_sends

Устаревшая настройка, не имеет эффекта.

replicated_max_parallel_sends_for_table

Устаревшая настройка, не имеет эффекта.

replicated_max_ratio_of_wrong_parts

Если отношение некорректных частей к общему количеству частей меньше этого значения — разрешить запуск. Возможные значения:
  • Float, 0.0 - 1.0

search_orphaned_parts_disks

ClickHouse сканирует все диски на наличие осиротевших частей данных при любом ATTACH или CREATE таблицы, чтобы не допустить пропуска частей данных на неопределённых дисках (не включённых в политику). Осиротевшие части данных появляются в результате потенциально небезопасной реконфигурации хранилища, например если диск был исключён из политики хранения. Эта настройка ограничивает область поиска дисков по их характеристикам. Возможные значения:
  • any - область поиска не ограничена.
  • local - область поиска ограничена локальными дисками.
  • none - пустая область, поиск не выполняется

serialization_info_version

Версия информации о сериализации, используемая при записи serialization.json. Эта настройка необходима для обеспечения совместимости при обновлении кластера. Возможные значения:
  • basic - Базовый формат.
  • with_types - Формат с дополнительным полем types_serialization_versions, позволяющим задавать версии сериализации для каждого типа. Это делает эффективными такие настройки, как string_serialization_version.
При поэтапном обновлении установите значение basic, чтобы новые серверы создавали части данных, совместимые со старыми серверами. После завершения обновления переключитесь на WITH_TYPES, чтобы включить версии сериализации для каждого типа.

share_nested_offsets

Когда включено (по умолчанию), столбцы типа Array с именами, содержащими точки и имеющими общий префикс (например, n.a и n.b), рассматриваются как часть структуры Nested: они используют один общий файл смещений на диске (например, n.size0), и во время INSERT проверяется, что размеры их массивов совпадают. Когда отключено, каждый столбец типа Array получает собственный отдельный файл смещений, имена с точками не имеют особой семантики, и скалярный столбец может сосуществовать со столбцами типа Array с именами с точками и тем же префиксом (например, n UInt32 наряду с n.a Array(String)). Этот параметр нельзя изменить после создания таблицы.

shared_merge_tree_activate_coordinated_merges_tasks

Включает перепланирование задач координируемых слияний. Это может быть полезно даже при shared_merge_tree_enable_coordinated_merges=0, поскольку позволяет заполнить статистику координатора слияний и облегчить холодный старт.

shared_merge_tree_create_per_replica_metadata_nodes

Включает создание узлов /metadata и /columns для каждой реплики в ZooKeeper. Доступно только в ClickHouse Cloud

shared_merge_tree_disable_merges_and_mutations_assignment

Останавливает назначение слияний для shared merge tree. Доступно только в ClickHouse Cloud

shared_merge_tree_empty_partition_lifetime

Сколько секунд партиция будет храниться в Keeper, если в ней нет частей.

shared_merge_tree_enable_automatic_empty_partitions_cleanup

Включает очистку записей Keeper для пустых партиций.

shared_merge_tree_enable_coordinated_merges

Включает стратегию координируемых слияний

shared_merge_tree_enable_keeper_parts_extra_data

Включает запись атрибутов в виртуальные части и коммит блоков в Keeper

shared_merge_tree_enable_outdated_parts_check

Включает проверку устаревших частей. Доступно только в ClickHouse Cloud.

shared_merge_tree_idle_parts_update_seconds

Интервал в секундах между обновлениями частей без срабатывания наблюдения ZooKeeper в shared merge tree. Доступно только в ClickHouse Cloud

shared_merge_tree_initial_parts_update_backoff_ms

Начальная задержка перед обновлением частей. Доступно только в ClickHouse Cloud

shared_merge_tree_interserver_http_connection_timeout_ms

Тайм-аут для межсерверного HTTP-соединения. Доступно только в ClickHouse Cloud

shared_merge_tree_interserver_http_timeout_ms

Тайм-ауты межсерверного HTTP-взаимодействия. Доступно только в ClickHouse Cloud

shared_merge_tree_leader_update_period_random_add_seconds

Добавляет к shared_merge_tree_leader_update_period равномерно распределённое случайное значение от 0 до x секунд, чтобы избежать эффекта «стадного инстинкта». Доступно только в ClickHouse Cloud

shared_merge_tree_leader_update_period_seconds

Максимальный интервал повторной проверки лидерства при обновлении частей. Доступно только в ClickHouse Cloud

shared_merge_tree_max_outdated_parts_to_process_at_once

Максимальное количество устаревших частей, удаление которых лидер попытается подтвердить за один HTTP-запрос. Доступно только в ClickHouse Cloud.

shared_merge_tree_max_parts_update_backoff_ms

Максимальная задержка при обновлении частей. Доступно только в ClickHouse Cloud

shared_merge_tree_max_parts_update_leaders_in_total

Максимальное число лидеров обновления частей. Доступно только в ClickHouse Cloud

shared_merge_tree_max_parts_update_leaders_per_az

Максимальное количество лидеров, отвечающих за обновление частей. Доступно только в ClickHouse Cloud

shared_merge_tree_max_replicas_for_parts_deletion

Максимальное количество реплик, участвующих в удалении частей (поток killer). Доступно только в ClickHouse Cloud

shared_merge_tree_max_replicas_to_merge_parts_for_each_parts_range

Максимальное число реплик, которые будут пытаться назначать потенциально конфликтующие слияния (это позволяет избежать лишних конфликтов при назначении слияний). 0 означает, что параметр отключён. Доступно только в ClickHouse Cloud

shared_merge_tree_max_suspicious_broken_parts

Максимальное число поврежденных частей для SMT; при превышении автоматическое отсоединение запрещается.

shared_merge_tree_max_suspicious_broken_parts_bytes

Максимальный суммарный размер всех поврежденных частей для SMT; при превышении этого значения автоматическое отсоединение запрещается.

shared_merge_tree_memo_ids_remove_timeout_seconds

Как долго хранятся идентификаторы мемоизации вставки, чтобы избежать некорректных действий при повторных попытках вставки. Доступно только в ClickHouse Cloud

shared_merge_tree_merge_coordinator_election_check_period_ms

Время между запусками потока выбора координатора слияния

shared_merge_tree_merge_coordinator_factor

Коэффициент изменения задержки потока координатора

shared_merge_tree_merge_coordinator_fetch_fresh_metadata_period_ms

Как часто координатор слияния должен синхронизироваться с ZooKeeper, чтобы получать актуальные метаданные

shared_merge_tree_merge_coordinator_max_merge_request_size

Количество слияний, которые coordinator может одновременно запрашивать у MergerMutator

shared_merge_tree_merge_coordinator_max_period_ms

Максимальный интервал между запусками потока координатора слияний

shared_merge_tree_merge_coordinator_merges_prepare_count

Количество записей о слияниях, которые координатор должен подготовить и распределить между воркерами. Если установлено значение ‘auto’, оно равно максимальному количеству задач слияния, разрешённых для одной реплики, умноженному на количество активных реплик.

shared_merge_tree_merge_coordinator_min_period_ms

Минимальный интервал между запусками потока координатора слияний

shared_merge_tree_merge_worker_fast_timeout_ms

Тайм-аут, который использует рабочий поток слияния, если после немедленного действия необходимо обновить его состояние

shared_merge_tree_merge_worker_regular_timeout_ms

Интервал времени между запусками рабочего потока слияния

shared_merge_tree_outdated_parts_group_size

Сколько реплик будет входить в одну и ту же группу rendezvous hash при очистке устаревших частей. Доступно только в ClickHouse Cloud.

shared_merge_tree_partitions_hint_ratio_to_reload_merge_pred_for_mutations

Повторно загружает предикат слияния в задаче выбора merge/mutate, когда отношение <candidate partitions for mutations only (partitions that cannot be merged)>/<candidate partitions for mutations> превышает значение этого параметра. Доступно только в ClickHouse Cloud

shared_merge_tree_parts_load_batch_size

Количество задач на получение метаданных частей, планируемых одновременно. Доступно только в ClickHouse Cloud

shared_merge_tree_postpone_next_merge_for_locally_merged_parts_ms

Время, в течение которого локально слитая часть хранится без запуска нового слияния, включающего эту часть. Это дает другим репликам возможность получить эту часть и начать это слияние. Доступно только в ClickHouse Cloud.

shared_merge_tree_postpone_next_merge_for_locally_merged_parts_rows_threshold

Минимальный размер части (в строках), начиная с которого назначение следующего слияния откладывается сразу после её локального слияния. Доступно только в ClickHouse Cloud.

shared_merge_tree_range_for_merge_window_size

Время, в течение которого локально слитая часть хранится без запуска нового слияния, включающего эту часть. Это дает другим репликам возможность получить эту часть и начать это слияние. Доступно только в ClickHouse Cloud

shared_merge_tree_read_virtual_parts_from_leader

Читать виртуальные части с лидера, когда это возможно. Доступно только в ClickHouse Cloud

shared_merge_tree_replica_set_max_lifetime_seconds

Как часто реплики пытаются обновлять набор реплик в фоновом режиме. Момент следующего запуска равномерно выбирается случайным образом в диапазоне [0, value] секунд. Исключение: value = 0 не подпадает под это правило; в реализации используется минимальное значение 200 мс, поэтому момент следующего запуска случайным образом выбирается в диапазоне [0, 200] мс.

shared_merge_tree_try_fetch_part_in_memory_data_from_replicas

Если включено, все реплики пытаются получать данные части, хранящиеся в памяти (например, первичный ключ, информацию о партиции и т. д.), с других реплик, где они уже есть.

shared_merge_tree_update_replica_flags_delay_ms

Как часто реплика будет пытаться повторно загружать свои флаги по фоновому расписанию.

shared_merge_tree_use_metadata_hints_cache

Включает запрос подсказок кэша FS из кэша в памяти на других репликах. Доступно только в ClickHouse Cloud

shared_merge_tree_use_outdated_parts_compact_format

Использовать компактный формат для устаревших частей: снижает нагрузку на Keeper, улучшает обработку устаревших частей. Доступно только в ClickHouse Cloud

shared_merge_tree_use_too_many_parts_count_from_virtual_parts

Если включено, при подсчете Too many parts будут использоваться общие данные в Keeper, а не локальное состояние реплики. Доступно только в ClickHouse Cloud

shared_merge_tree_use_zookeeper_connection_pool

Если настройка включена, SharedMergeTree использует один из сеансов ZooKeeper из серверного пула.

shared_merge_tree_virtual_parts_discovery_batch

Сколько операций обнаружения партиций упаковывать в батч

simultaneous_parts_removal_limit

Если устаревших частей много, поток очистки попытается удалить до simultaneous_parts_removal_limit частей за одну итерацию. Значение simultaneous_parts_removal_limit, равное 0, означает, что ограничений нет.

sleep_before_commit_local_part_in_replicated_table_ms

Для тестирования. Не изменяйте.

sleep_before_loading_outdated_parts_ms

Для тестирования. Не изменяйте.

storage_policy

Имя политики для дисков хранилища

string_serialization_version

Управляет форматом сериализации для столбцов String верхнего уровня. Этот параметр действует только если serialization_info_version установлено в значение “with_types”. Если задано значение with_size_stream, столбцы String верхнего уровня сериализуются с отдельным подстолбцом .size, в котором хранятся длины строк, а не в общем потоке. Это позволяет использовать реальные подстолбцы .size и может повысить эффективность сжатия. Вложенные типы String (например, внутри Nullable, LowCardinality, Array или Map) не затрагиваются, кроме случаев, когда они встречаются в Tuple. Возможные значения:
  • single_stream — Использовать стандартный формат сериализации со встроенными размерами.
  • with_size_stream — Использовать отдельный поток размеров для столбцов String верхнего уровня.

table_disk

Это disk таблицы: путь/конечная точка должны указывать на данные таблицы, а не на данные базы данных. Можно задать только для s3_plain/s3_plain_rewritable/web.

table_readonly

Если установлено значение true, таблица переводится в режим только для чтения. Любые попытки вставить данные или изменить таблицу завершатся ошибкой.

temporary_directories_lifetime

Сколько секунд хранить tmp_-каталоги. Не следует уменьшать это значение, поскольку при низком значении этой настройки слияния и мутации могут не выполняться.

try_fetch_recompressed_part_timeout

Тайм-аут (в секундах) перед началом merge с повторным сжатием. В течение этого времени ClickHouse пытается получить часть, сжатую повторно, с реплики, которой назначен этот merge с повторным сжатием. Повторное сжатие в большинстве случаев выполняется медленно, поэтому до истечения этого тайм-аута merge с повторным сжатием не запускается, а ClickHouse пытается получить часть, сжатую повторно, с реплики, которой назначен этот merge с повторным сжатием. Возможные значения:
  • Любое положительное целое число.

ttl_only_drop_parts

Определяет, будут ли части данных в таблицах MergeTree полностью удаляться, когда все строки в этой части истекли в соответствии с настройками TTL. Когда ttl_only_drop_parts выключен (по умолчанию), удаляются только строки, срок действия которых истек в соответствии с настройками TTL. Когда ttl_only_drop_parts включен, удаляется вся часть, если все строки в этой части истекли в соответствии с настройками TTL.

use_adaptive_write_buffer_for_dynamic_subcolumns

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

use_async_block_ids_cache

Если true, кэшируются хеш-суммы асинхронных вставок. Возможные значения:
  • true
  • false
Блок, содержащий несколько асинхронных вставок, создаёт несколько хеш-сумм. Если некоторые из вставок дублируются, Keeper вернёт только одну дублирующуюся хеш-сумму за один RPC-вызов, что приведёт к лишним повторным RPC-вызовам. Этот кэш отслеживает путь хеш-сумм в Keeper. При обнаружении обновлений в Keeper кэш обновляется как можно быстрее, чтобы можно было отфильтровывать дублирующиеся вставки в памяти.

use_compact_variant_discriminators_serialization

Включает компактный режим бинарной сериализации дискриминаторов для типа данных Variant. Этот режим позволяет значительно сократить расход памяти на хранение дискриминаторов в частях, когда в основном используется один вариант или имеется много значений NULL.

use_const_adaptive_granularity

Всегда использовать постоянную гранулярность для всей части. Это позволяет сжимать в памяти значения гранулярности индекса. Может быть полезно при очень больших рабочих нагрузках с узкими таблицами.

use_metadata_cache

Устаревшая настройка, не имеет эффекта.

use_minimalistic_checksums_in_zookeeper

Использовать компактный формат (десятки байт) для контрольных сумм частей в ZooKeeper вместо обычного (десятки КБ). Перед включением проверьте, что все реплики поддерживают новый формат.

use_minimalistic_part_header_in_zookeeper

Способ хранения заголовков частей данных в ZooKeeper. Если включено, ZooKeeper хранит меньше данных. Подробнее см. здесь.

use_primary_key_cache

Использовать кэш для первичного индекса вместо хранения всех индексов в памяти. Может быть полезно для очень больших таблиц

vertical_merge_algorithm_min_bytes_to_activate

Минимальный (приблизительный) размер несжатых данных в байтах в частях, участвующих в слиянии, при котором активируется алгоритм Вертикального слияния.

vertical_merge_algorithm_min_columns_to_activate

Минимальное количество столбцов, не входящих в PK, при котором активируется алгоритм Вертикального слияния.

vertical_merge_algorithm_min_rows_to_activate

Минимальная (приблизительная) сумма строк в объединяемых частях для активации алгоритма Вертикального слияния.

vertical_merge_optimize_lightweight_delete

Если true, при вертикальном слиянии легковесное удаление оптимизируется.

vertical_merge_optimize_ttl_delete

Если значение равно true, удаление строк по TTL оптимизируется при вертикальном слиянии. Вместо принудительного горизонтального слияния вычисляется фильтр TTL и передаётся алгоритму слияния, который устанавливает флаги пропуска для источников строк.

vertical_merge_remote_filesystem_prefetch

Если true, для следующего столбца при слиянии используется предварительная загрузка данных из удалённой файловой системы

wait_for_unique_parts_send_before_shutdown_ms

Перед остановкой таблица будет ждать заданное время, чтобы уникальные части (существующие только на текущей реплике) были получены другими репликами (0 означает, что параметр отключён).

write_ahead_log_bytes_to_fsync

Устаревшая настройка, не оказывает никакого эффекта.

write_ahead_log_interval_ms_to_fsync

Устаревшая настройка, не имеет эффекта.

write_ahead_log_max_bytes

Устаревшая настройка, не имеет эффекта.

write_final_mark

Устаревшая настройка, не имеет эффекта.

write_marks_for_substreams_in_compact_parts

Включает запись меток для каждого подпотока вместо каждой столбца в компактных частях. Это позволяет эффективно читать отдельные подстолбцы из части данных. Например, столбец t Tuple(a String, b UInt32, c Array(Nullable(UInt32))) сериализуется в следующие подпотоки:
  • t.a — для данных String элемента кортежа a
  • t.b — для данных UInt32 элемента кортежа b
  • t.c.size0 — для размеров массива элемента кортежа c
  • t.c.null — для null-карты вложенных элементов массива элемента кортежа c
  • t.c — для данных UInt32 вложенных элементов массива элемента кортежа c
Когда эта настройка включена, для каждого из этих 5 подпотоков записывается отдельная метка, а это значит, что при необходимости мы сможем читать данные каждого отдельного подпотока из гранулы по отдельности. Например, если мы хотим прочитать подстолбец t.c, то будем читать только данные подпотоков t.c.size0, t.c.null и t.c и не будем читать данные из подпотоков t.a и t.b. Когда эта настройка выключена, записывается только одна метка для столбца верхнего уровня t, а это значит, что мы всегда будем читать все данные столбца из гранулы, даже если нам нужны данные только некоторых подпотоков.

zero_copy_concurrent_part_removal_max_postpone_ratio

Максимальный процент частей верхнего уровня, удаление которых можно отложить, чтобы получить более мелкие независимые диапазоны. Не рекомендуется изменять.

zero_copy_concurrent_part_removal_max_split_times

Максимальная глубина рекурсии при разбиении диапазонов независимых устаревших частей на более мелкие поддиапазоны. Не рекомендуется изменять.

zero_copy_merge_mutation_min_parts_size_sleep_before_lock

Если включена репликация с нулевым копированием, перед попыткой блокировки выжидать случайное время в зависимости от размера частей при слиянии или мутации

zero_copy_merge_mutation_min_parts_size_sleep_no_scale_before_lock

Если включена репликация с нулевым копированием, перед попыткой установить блокировку для слияния или мутации выполняется пауза случайной длительности до 500 мс.

zookeeper_session_expiration_check_period

Период проверки истечения срока действия сеанса ZooKeeper, в секундах. Возможные значения:
  • Любое положительное целое число.
Последнее изменение 10 июня 2026 г.