Настройки таблиц MergeTree
Системная таблица system.merge_tree_settings показывает глобально установленные настройки MergeTree.
Настройки MergeTree могут быть заданы в разделе merge_tree файла конфигурации сервера или указаны для каждой таблицы MergeTree индивидуально в предложении SETTINGS оператора CREATE TABLE.
Пример настройки max_suspicious_broken_parts:
Настройка по умолчанию для всех таблиц MergeTree в файле конфигурации сервера:
Установка для конкретной таблицы:
Изменение настроек для конкретной таблицы с использованием ALTER TABLE ... MODIFY SETTING:
Настройки MergeTree
adaptive_write_buffer_initial_size
| Тип | По умолчанию |
|---|---|
UInt64 | 16384 |
Начальный размер адаптивного буфера записи
add_implicit_sign_column_constraint_for_collapsing_engine
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Если true, добавляет неявное ограничение для колонки sign таблицы CollapsingMergeTree или VersionedCollapsingMergeTree, чтобы разрешить только допустимые значения (1 и -1).
add_minmax_index_for_numeric_columns
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Когда включено, добавляются мини-макси (пропускающие) индексы для всех числовых колонок таблицы.
add_minmax_index_for_string_columns
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Когда включено, добавляются мини-макси (пропускающие) индексы для всех строковых колонок таблицы.
allow_experimental_replacing_merge_with_cleanup
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Разрешить экспериментальные 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
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Включает поддержку порядка сортировки по убыванию в ключах сортировки MergeTree. Эта настройка особенно полезна для анализа временных рядов и запросов Top-N, позволяя данным храниться в обратном хронологическом порядке для оптимизации производительности запросов.
С включённой allow_experimental_reverse_key вы можете определить порядки сортировки по убыванию в предложении ORDER BY таблицы MergeTree. Это позволяет использовать более эффективные оптимизации ReadInOrder вместо ReadInReverseOrder для запросов по убыванию.
Пример
Используя ORDER BY time DESC в запросе, применяется ReadInOrder.
Значение по умолчанию: false
allow_floating_point_partition_key
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Разрешает использование чисел с плавающей точкой в качестве ключа партиционирования.
Возможные значения:
0— Ключ партиционирования с плавающей точкой не разрешён.1— Ключ партиционирования с плавающей точкой разрешён.
allow_nullable_key
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Разрешить Nullable типы в качестве первичных ключей.
allow_reduce_blocking_parts_task
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Фоновая задача, которая уменьшает блокирующие части для таблиц с общими слияниями. Только в ClickHouse Cloud
allow_remote_fs_zero_copy_replication
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Не используйте эту настройку в производстве, так как она не готова.
allow_suspicious_indices
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Отклонять первичные/вторичные индексы и ключи сортировки с одинаковыми выражениями
allow_vertical_merges_from_compact_to_wide_parts
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Разрешает вертикальные слияния от компактных к широким частям. Эта настройка должна иметь одинаковое значение на всех репликах.
always_fetch_merged_part
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Если true, эта реплика никогда не сливает части и всегда загружает слитые части из других реплик.
Возможные значения:
- true, false
always_use_copy_instead_of_hardlinks
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Всегда копировать данные вместо создания жестких ссылок во время мутаций/замен/отключений и так далее.
assign_part_uuids
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Когда включено, для каждой новой части будет назначен уникальный идентификатор части. Перед включением проверьте, что все реплики поддерживают UUID версии 4.
async_block_ids_cache_update_wait_ms
| Тип | По умолчанию |
|---|---|
Milliseconds | 100 |
Как долго каждая итерация вставки будет ждать обновления кэша async_block_ids_cache
async_insert
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Если true, данные из запроса INSERT сохраняются в очереди и позднее выгружаются в таблицу в фоновом режиме.
background_task_preferred_step_execution_time_ms
| Тип | По умолчанию |
|---|---|
Milliseconds | 50 |
Целевое время выполнения одного шага слияния или мутации. Может быть превышено, если один шаг занимает больше времени
cache_populated_by_fetch
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Эта настройка применима только к ClickHouse Cloud.
Когда cache_populated_by_fetch отключен (значение по умолчанию), новые части данных загружаются в кэш только тогда, когда запускается запрос, который требует этих частей.
Если включено, cache_populated_by_fetch приведет к тому, что все узлы будут загружать новые части данных из хранилища в свой кэш без необходимости запроса для запуска такого действия.
Смотрите также
check_delay_period
| Тип | По умолчанию |
|---|---|
UInt64 | 60 |
Устаревшая настройка, ничего не делает.
check_sample_column_is_correct
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Включает проверку при создании таблицы, что тип данных колонки для выборки или выражения выборки корректен. Тип данных должен быть одним из беззнаковых
целочисленных типов: UInt8, UInt16,
UInt32, UInt64.
Возможные значения:
true— Проверка включена.false— Проверка отключена при создании таблицы.
Значение по умолчанию: true.
По умолчанию сервер ClickHouse проверяет при создании таблицы тип данных колонки для выборки или выражения выборки. Если у вас уже есть таблицы с неверным выражением выборки и вы не хотите, чтобы сервер вызывал исключение во время загрузки, установите check_sample_column_is_correct в false.
clean_deleted_rows
| Тип | По умолчанию |
|---|---|
CleanDeletedRows | Never |
Устаревшая настройка, ничего не делает.
cleanup_delay_period
| Тип | По умолчанию |
|---|---|
UInt64 | 30 |
Минимальный период для очистки старых журналов очереди, хешей блоков и частей.
cleanup_delay_period_random_add
| Тип | По умолчанию |
|---|---|
UInt64 | 10 |
Добавить равномерно распределённое значение от 0 до x секунд к cleanup_delay_period, чтобы избежать эффекта стада и последующего DoS ZooKeeper в случае очень большого количества таблиц.
cleanup_thread_preferred_points_per_iteration
| Тип | По умолчанию |
|---|---|
UInt64 | 150 |
Предпочитаемый размер пакета для фоновой очистки (точки абстрактны, но 1 точка примерно эквивалентна 1 вставленному блоку).
cleanup_threads
| Тип | По умолчанию |
|---|---|
UInt64 | 128 |
Потоки для очистки устаревших потоков. Доступно только в ClickHouse Cloud.
columns_and_secondary_indices_sizes_lazy_calculation
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Вычислять размеры колонок и вторичных индексов лениво при первом запросе вместо инициализации таблицы.
columns_to_prewarm_mark_cache
Список колонок для предварительного прогрева кэша меток (если включено). Пустой означает все колонки.
compact_parts_max_bytes_to_buffer
| Тип | По умолчанию |
|---|---|
UInt64 | 134217728 |
Доступно только в ClickHouse Cloud. Максимальное количество байт для записи в одну полосу в компактных частях.
compact_parts_max_granules_to_buffer
| Тип | По умолчанию |
|---|---|
UInt64 | 128 |
Доступно только в ClickHouse Cloud. Максимальное количество гранул для записи в одну полосу в компактных частях.
compact_parts_merge_max_bytes_to_prefetch_part
| Тип | По умолчанию |
|---|---|
UInt64 | 16777216 |
Доступно только в ClickHouse Cloud. Максимальный размер компактной части, чтобы прочитать её целиком в память во время слияния.
compatibility_allow_sampling_expression_not_in_primary_key
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Разрешить создание таблицы с выражением выборки, не входящим в первичный ключ. Это необходимо только временно для запуска сервера с неправильными таблицами для обеспечения обратной совместимости.
compress_marks
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Метки поддерживают сжатие, уменьшают размер файла меток и ускоряют сетевую передачу.
compress_primary_key
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Первичный ключ поддерживает сжатие, уменьшает размер файла первичного ключа и ускоряет сетевую передачу.
concurrent_part_removal_threshold
| Тип | По умолчанию |
|---|---|
UInt64 | 100 |
Активация параллельного удаления частей (см. 'max_part_removal_threads') только если количество неактивных частей данных не менее этого значения.
deduplicate_merge_projection_mode
| Тип | По умолчанию |
|---|---|
DeduplicateMergeProjectionMode | throw |
Разрешает ли создание проекции для таблицы с неклассическим MergeTree, который не является (Replicated, Shared) MergeTree. Игнорировать эту опцию следует только для обратной совместимости, что может привести к неправильному ответу. В противном случае, если разрешено, каково действие при слиянии проекций: удалить или перестроить. Так классический MergeTree будет игнорировать эту настройку. Она также управляет OPTIMIZE DEDUPLICATE, но имеет эффект на всех членах семьи MergeTree. Похоже на опцию lightweight_mutation_projection_mode, она также является частью уровня.
Возможные значения:
ignorethrowdroprebuild
detach_not_byte_identical_parts
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Включает или отключает отсоединение части данных на реплике после слияния или мутации, если она не идентична по байтам данным частям на других репликах. Если отключено, часть данных удаляется. Активируйте эту настройку, если хотите проанализировать такие части позже.
Настройка применяется к таблицам MergeTree с включённой
репликацией данных.
Возможные значения:
0— Части удаляются.1— Части отсоединяются.
detach_old_local_parts_when_cloning_replica
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Не удалять старые локальные части при восстановлении потерянной реплики.
Возможные значения:
truefalse
disable_detach_partition_for_zero_copy_replication
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Отключить запрос DETACH PARTITION для репликации без копирования.
disable_fetch_partition_for_zero_copy_replication
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Отключить запрос FETCH PARTITION для репликации без копирования.
disable_freeze_partition_for_zero_copy_replication
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Отключить запрос FREEZE PARTITION для репликации без копирования.
disk
Имя диска хранения. Может быть указано вместо политики хранения.
enable_block_number_column
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Включить сохранение колонки _block_number для каждой строки.
enable_block_offset_column
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Сохраняет виртуальную колонку _block_number при слияниях.
enable_index_granularity_compression
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Сжимать в памяти значения гранулярности индекса, если это возможно.
enable_max_bytes_limit_for_min_age_to_force_merge
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Если настройки min_age_to_force_merge_seconds и
min_age_to_force_merge_on_partition_only должны учитывать настройку
max_bytes_to_merge_at_max_space_in_pool.
Возможные значения:
truefalse
enable_mixed_granularity_parts
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Включает или отключает переход к контролю размера гранулы с помощью настройки
index_granularity_bytes. До версии 19.11 существовала только настройка
index_granularity для ограничения размера гранулы. Настройка
index_granularity_bytes улучшает производительность ClickHouse при
выборке данных из таблиц с большими строками (десятки и сотни мегабайт).
Если у вас есть таблицы с большими строками, вы можете включить эту настройку для таблиц, чтобы улучшить эффективность запросов SELECT.
enable_replacing_merge_with_cleanup_for_min_age_to_force_merge
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Использовать ли CLEANUP слияния для ReplacingMergeTree при слиянии партиций
до одной части. Требуются включенные allow_experimental_replacing_merge_with_cleanup,
min_age_to_force_merge_seconds и min_age_to_force_merge_on_partition_only.
Возможные значения:
truefalse
enable_the_endpoint_id_with_zookeeper_name_prefix
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Включить идентификатор конечной точки с префиксом имени ZooKeeper для таблицы реплицированного merge tree.
enable_vertical_merge_algorithm
| Тип | По умолчанию |
|---|---|
UInt64 | 1 |
Включить использование алгоритма вертикального слияния.
enforce_index_structure_match_on_partition_manipulation
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Если эта настройка включена для целевой таблицы запроса манипуляции партицией
(ATTACH/MOVE/REPLACE PARTITION), индексы и проекции должны быть
идентичными между исходными и целевыми таблицами. В противном случае целевая
таблица может иметь надмножество индексов и проекций исходной таблицы.
exclude_deleted_rows_for_part_size_in_merge
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Если включено, будет использоваться оцениваемый фактический размер частей данных (т.е., исключая те строки, которые были удалены через DELETE FROM) при выборе частей для слияния. Обратите внимание, что это поведение вызывается только для частей данных, затронутых DELETE FROM, выполненным после включения этой настройки.
Возможные значения:
truefalse
Смотрите также
- Настройка load_existing_rows_count_for_old_parts
execute_merges_on_single_replica_time_threshold
| Тип | По умолчанию |
|---|---|
Seconds | 0 |
Когда это значение больше нуля, только одна реплика начинает слияние немедленно, а другие реплики ждут до этого времени для скачивания результата вместо выполнения слияний локально. Если выбранная реплика не завершает слияние в указанное время, происходит откат к стандартному поведению.
Возможные значения:
- Любое положительное целое число.
fault_probability_after_part_commit
| Тип | По умолчанию |
|---|---|
Float | 0 |
Для тестирования. Не изменяйте это.
fault_probability_before_part_commit
| Тип | По умолчанию |
|---|---|
Float | 0 |
Для тестирования. Не изменяйте это.
finished_mutations_to_keep
| Тип | По умолчанию |
|---|---|
UInt64 | 100 |
Сколько записей о завершённых мутациях сохранять. Если ноль, то сохранять все.
force_read_through_cache_for_merges
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Принудительное чтение через файловую систему кэша для слияний.
fsync_after_insert
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Выполнять fsync для каждой вставленной части. Значительно снижает производительность вставок, не рекомендуется использовать с широкими частями.
fsync_part_directory
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Выполнять fsync для директории части после всех операций с частями (записи, переименования и т.д.).
in_memory_parts_enable_wal
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Устаревшая настройка, ничего не делает.
in_memory_parts_insert_sync
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Устаревшая настройка, ничего не делает.
inactive_parts_to_delay_insert
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Если количество неактивных частей в одной партиции таблицы превышает
значение inactive_parts_to_delay_insert, операция INSERT искусственно
замедляется.
Это полезно, когда сервер не успевает быстро очистить части.
Возможные значения:
- Любое положительное целое число.
inactive_parts_to_throw_insert
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Если количество неактивных частей в одной партиции превышает
значение inactive_parts_to_throw_insert, операция INSERT прерывается с
следующей ошибкой:
"Слишком много неактивных частей (N). Очистка частей происходит значительно медленнее, чем вставка" исключение."
Возможные значения:
- Любое положительное целое число.
index_granularity
| Тип | По умолчанию |
|---|---|
UInt64 | 8192 |
Максимальное количество строк данных между метками индекса. То есть, сколько строк соответствует одному значению первичного ключа.
index_granularity_bytes
| Тип | По умолчанию |
|---|---|
UInt64 | 10485760 |
Максимальный размер гранул данных в байтах.
Чтобы ограничить размер гранулы только по количеству строк, установите 0 (не рекомендуется).
initialization_retry_period
| Тип | По умолчанию |
|---|---|
Seconds | 60 |
Период повторной попытки инициализации таблицы в секундах.
kill_delay_period
| Тип | По умолчанию |
|---|---|
UInt64 | 30 |
Устаревшая настройка, ничего не делает.
kill_delay_period_random_add
| Тип | По умолчанию |
|---|---|
UInt64 | 10 |
Устаревшая настройка, ничего не делает.
kill_threads
| Тип | По умолчанию |
|---|---|
UInt64 | 128 |
Устаревшая настройка, ничего не делает.
lightweight_mutation_projection_mode
| Тип | По умолчанию |
|---|---|
LightweightMutationProjectionMode | throw |
По умолчанию легковесное удаление DELETE не работает для таблиц с проекциями. Это связано с тем, что строки в проекции могут быть затронуты операцией DELETE. Поэтому значение по умолчанию будет throw. Однако этот параметр может изменить поведение. Со значением drop или rebuild удаления будут работать с проекциями. drop удалит проекцию, поэтому это может быть быстро в текущем запросе, когда проекция удалена, но медленно в будущих запросах, так как проекция не привязана. rebuild перестроит проекцию, что может повлиять на производительность текущего запроса, но может ускорить будущие запросы. Хорошая новость заключается в том, что эти параметры будут работать только на уровне частей, что означает, что проекции в частях, которые не затрагиваются, останутся нетронутыми и не вызовут никаких действий, таких как удаление или перестройка.
Возможные значения:
throwdroprebuild
load_existing_rows_count_for_old_parts
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Если включено вместе с exclude_deleted_rows_for_part_size_in_merge, число удалённых строк для существующих частей данных будет рассчитываться при старте таблицы. Обратите внимание, что это может замедлить загрузку таблицы при старте.
Возможные значения:
truefalse
Смотрите также
lock_acquire_timeout_for_background_operations
| Тип | По умолчанию |
|---|---|
Seconds | 120 |
Для фоновых операций, таких как слияния, мутации и т.д. Сколько секунд до сбоя в получении блокировок таблицы.
marks_compress_block_size
| Тип | По умолчанию |
|---|---|
UInt64 | 65536 |
Размер блока сжатия меток, фактический размер блока для сжатия.
marks_compression_codec
| Тип | По умолчанию |
|---|---|
String | ZSTD(3) |
Кодек сжатия, используемый метками; метки достаточно малы и кэшируются, поэтому по умолчанию используется ZSTD(3).
materialize_skip_indexes_on_merge
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Когда включено, слияния создают и сохраняют пропускающие индексы для новых частей. В противном случае они могут быть созданы/сохранены с помощью явного MATERIALIZE INDEX.
materialize_ttl_recalculate_only
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Только пересчитывать информацию ttl, когда MATERIALIZE TTL.
max_avg_part_size_for_too_many_parts
| Тип | По умолчанию |
|---|---|
UInt64 | 1073741824 |
Проверка "слишком много частей" в соответствии с 'parts_to_delay_insert' и 'parts_to_throw_insert' будет активна только если средний размер части (в соответствующей партиции) не превышает заданный порог. Если превышает, вставки не будут задерживаться или отклоняться. Это позволяет иметь сотни терабайт в одной таблице на одном сервере, если части успешно соединяются в более крупные части. Это не влияет на пороги для неактивных частей или общего числа частей.
max_bytes_to_merge_at_max_space_in_pool
| Тип | По умолчанию |
|---|---|
UInt64 | 161061273600 |
Максимальный общий размер частей (в байтах), которые могут быть объединены в одну часть, если есть достаточные ресурсы. Это примерно соответствует максимальному возможному размеру части, созданной автоматическим фоновым слиянием.
Возможные значения:
- Любое положительное целое число.
Планировщик слияний периодически анализирует размеры и количество частей в партициях, и если в пуле достаточно свободных ресурсов, он начинает фоновые слияния. Слияния происходят, пока общий размер исходных частей не превышает 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
| Тип | По умолчанию |
|---|---|
UInt64 | 1048576 |
Максимальный общий размер части (в байтах), который может быть объединен в одну часть, при минимально доступных ресурсах в фоновом пуле.
Возможные значения:
- Любое положительное целое число.
max_bytes_to_merge_at_min_space_in_pool определяет максимальный общий размер частей, которые могут быть объединены, несмотря на нехватку доступного дискового пространства (в пуле).
Это необходимо для уменьшения количества малых частей и шанса ошибок "Слишком много частей".
Слияния резервируют дисковое пространство, удваивая общий размер сливаемых частей.
Таким образом, при малом количестве свободного дискового пространства может возникнуть ситуация, когда свободное пространство уже забронировано текущими крупными слияниями, так что другие слияния не могут быть запущены, и количество малых частей возрастает с каждой вставкой.
max_cleanup_delay_period
| Тип | По умолчанию |
|---|---|
UInt64 | 300 |
Максимальный период для очистки старых журналов очереди, блоков хешей и частей.
max_compress_block_size
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Максимальный размер блоков несжатых данных перед сжатием для записи в таблицу. Вы также можете указать эту настройку в глобальных настройках (см. max_compress_block_size настройка). Значение, указанное при создании таблицы, переопределяет глобальное значение для этой настройки.
max_concurrent_queries
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Максимальное количество одновременно выполняемых запросов, связанных с таблицей MergeTree.
Запросы все еще будут ограничены другими настройками max_concurrent_queries.
Возможные значения:
- Положительное целое число.
0— Без предела.
Значение по умолчанию: 0 (без предела).
Пример
max_delay_to_insert
| Тип | По умолчанию |
|---|---|
UInt64 | 1 |
Значение в секундах, используемое для вычисления задержки INSERT, если
количество активных частей в одной партиции превышает значение
parts_to_delay_insert.
Возможные значения:
- Любое положительное целое число.
Задержка (в миллисекундах) для INSERT рассчитывается по формуле:
Например, если в партиции 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 формула была изменена на:
Например, если в партиции 224 активных частей, а parts_to_throw_insert
= 300, parts_to_delay_insert = 150, max_delay_to_insert = 1,
min_delay_to_insert_ms = 10, INSERT задерживается на max( 10, 1 * 1000 * (224 - 150 + 1) / (300 - 150) ) = 500 миллисекунд.
max_delay_to_mutate_ms
| Тип | По умолчанию |
|---|---|
UInt64 | 1000 |
Максимальная задержка мутирующей таблицы MergeTree в миллисекундах, если существует множество незавершённых мутаций.
max_digestion_size_per_segment
| Тип | По умолчанию |
|---|---|
UInt64 | 268435456 |
Максимальное количество байт для обработки на сегмент для построения GIN-индекса.
max_file_name_length
| Тип | По умолчанию |
|---|---|
UInt64 | 127 |
Максимальная длина имени файла, чтобы оставить его как есть без хеширования.
Влияет только в том случае, если настройка replace_long_file_name_to_hash включена.
Значение этой настройки не включает длину расширения файла. Поэтому рекомендуется устанавливать его ниже максимальной длины имени файла (обычно 255
байт) с зазором, чтобы избежать ошибок файловой системы.
max_files_to_modify_in_alter_columns
| Тип | По умолчанию |
|---|---|
UInt64 | 75 |
Не применять ALTER, если количество файлов для модификации (удаления, добавления) больше этой настройки.
Возможные значения:
- Любое положительное целое число.
Значение по умолчанию: 75
max_files_to_remove_in_alter_columns
| Тип | По умолчанию |
|---|---|
UInt64 | 50 |
Не применять ALTER, если количество файлов для удаления больше этой настройки.
Возможные значения:
- Любое положительное целое число.
max_merge_delayed_streams_for_parallel_write
| Тип | По умолчанию |
|---|---|
UInt64 | 40 |
Максимальное количество потоков (колонок), которые могут быть очищены параллельно (аналог max_insert_delayed_streams_for_parallel_write для слияний). Работает только для вертикальных слияний.
max_merge_selecting_sleep_ms
| Тип | По умолчанию |
|---|---|
UInt64 | 60000 |
Максимальное время ожидания перед повторной попыткой выбрать части для слияния после того, как части не были выбраны. Более низкая настройка будет часто инициировать задачи выбора в background_schedule_pool, что приводит к большому количеству запросов к ZooKeeper в крупных кластерах.
max_number_of_merges_with_ttl_in_pool
| Тип | По умолчанию |
|---|---|
UInt64 | 2 |
Когда в пуле больше указанного количества слияний с записями TTL, новые слияния с TTL назначаться не будут. Это необходимо для того, чтобы оставить свободные потоки для обычных слияний и избежать ошибки «Слишком много частей».
max_number_of_mutations_for_replica
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Ограничивает количество мутаций частей на реплику до указанного значения. Ноль означает отсутствие ограничения на количество мутаций на реплику (выполнение все еще может быть ограничено другими настройками).
max_part_loading_threads
| Тип | По умолчанию |
|---|---|
MaxThreads | 'auto(14)' |
Устаревшая настройка, ничего не делает.
max_part_removal_threads
| Тип | По умолчанию |
|---|---|
MaxThreads | 'auto(14)' |
Устаревшая настройка, ничего не делает.
max_partitions_to_read
| Тип | По умолчанию |
|---|---|
Int64 | -1 |
Ограничивает максимальное количество партиций, которые можно получить в одном запросе.
Значение настройки, указанное при создании таблицы, может быть переопределено на уровне запроса.
Возможные значения:
- Любое положительное целое число.
Вы также можете указать настройку сложности запроса max_partitions_to_read на уровне запроса / сессии / профиля.
max_parts_in_total
| Тип | По умолчанию |
|---|---|
UInt64 | 100000 |
Если общее количество активных частей во всех партициях таблицы превышает значение max_parts_in_total, INSERT будет прерван с исключением Слишком много частей (N).
Возможные значения:
- Любое положительное целое число.
Большое количество частей в таблице снижает производительность запросов ClickHouse и увеличивает время загрузки ClickHouse. Чаще всего это является следствием неправильного проектирования (ошибки при выборе стратегии партиционирования - слишком маленькие партиции).
max_parts_to_merge_at_once
| Тип | По умолчанию |
|---|---|
UInt64 | 100 |
Максимальное количество частей, которые могут быть объединены одновременно (0 - отключено). Не влияет на запрос OPTIMIZE FINAL.
max_postpone_time_for_failed_mutations_ms
| Тип | По умолчанию |
|---|---|
UInt64 | 300000 |
Максимальное время отсрочки для неудачных мутаций.
max_projections
| Тип | По умолчанию |
|---|---|
UInt64 | 25 |
Максимальное количество проекций слияния дерева.
max_replicated_fetches_network_bandwidth
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Ограничивает максимальную скорость обмена данными по сети в байтах в секунду для реплицированных выборок. Эта настройка применяется к конкретной таблице, в отличие от настройки max_replicated_fetches_network_bandwidth_for_server, которая применяется к серверу.
Вы можете ограничить как сетевой трафик сервера, так и сетевой трафик для конкретной таблицы, но для этого значение настройки на уровне таблицы должно быть меньше значения на уровне сервера. В противном случае сервер учитывает только настройку max_replicated_fetches_network_bandwidth_for_server.
Настройка не всегда соблюдается точно.
Возможные значения:
- Положительное целое число.
0— Неограничено.
Значение по умолчанию: 0.
Использование
Может быть использовано для ограничения скорости при репликации данных для добавления или замены новых узлов.
max_replicated_logs_to_keep
| Тип | По умолчанию |
|---|---|
UInt64 | 1000 |
Сколько записей может быть в журнале ClickHouse Keeper, если есть неактивная реплика. Неактивная реплика становится потерянной, когда это число превышено.
Возможные значения:
- Любое положительное целое число.
max_replicated_merges_in_queue
| Тип | По умолчанию |
|---|---|
UInt64 | 1000 |
Сколько задач слияния и мутации частей разрешено одновременно в очереди ReplicatedMergeTree.
max_replicated_merges_with_ttl_in_queue
| Тип | По умолчанию |
|---|---|
UInt64 | 1 |
Сколько задач слияния частей с TTL разрешено одновременно в очереди ReplicatedMergeTree.
max_replicated_mutations_in_queue
| Тип | По умолчанию |
|---|---|
UInt64 | 8 |
Сколько задач мутации частей разрешено одновременно в очереди ReplicatedMergeTree.
max_replicated_sends_network_bandwidth
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Ограничивает максимальную скорость обмена данными по сети в байтах в секунду для реплицированных отправок. Эта настройка применяется к конкретной таблице, в отличие от настройки max_replicated_sends_network_bandwidth_for_server, которая применяется к серверу.
Вы можете ограничить как сетевой трафик сервера, так и сетевой трафик для конкретной таблицы, но для этого значение настройки на уровне таблицы должно быть меньше значения на уровне сервера. В противном случае сервер учитывает только настройку max_replicated_sends_network_bandwidth_for_server.
Настройка не всегда соблюдается точно.
Возможные значения:
- Положительное целое число.
0— Неограничено.
Использование
Может быть использовано для ограничения скорости при репликации данных для добавления или замены новых узлов.
max_suspicious_broken_parts
| Тип | По умолчанию |
|---|---|
UInt64 | 100 |
Если количество сломанных частей в одной партиции превышает значение max_suspicious_broken_parts, автоматическое удаление запрещено.
Возможные значения:
- Любое положительное целое число.
max_suspicious_broken_parts_bytes
| Тип | По умолчанию |
|---|---|
UInt64 | 1073741824 |
Максимальный размер всех сломанных частей, если больше - запретить автоматическое удаление.
Возможные значения:
- Любое положительное целое число.
merge_max_block_size
| Тип | По умолчанию |
|---|---|
UInt64 | 8192 |
Количество строк, которые читаются из объединяемых частей в память.
Возможные значения:
- Любое положительное целое число.
Слияние читает строки из частей в блоках по merge_max_block_size строк, затем объединяет и записывает результат в новую часть. Читаемый блок помещается в ОЗУ, поэтому merge_max_block_size влияет на размер необходимой ОЗУ для слияния. Таким образом, слияния могут потреблять большое количество ОЗУ для таблиц с очень широкими строками (если средний размер строки составляет 100 КБ, то при слиянии 10 частей (100 КБ * 10 * 8192) = ~ 8 ГБ ОЗУ). Уменьшая merge_max_block_size, вы можете уменьшить количество ОЗУ, необходимое для слияния, но замедлите само слияние.
merge_max_block_size_bytes
| Тип | По умолчанию |
|---|---|
UInt64 | 10485760 |
Сколько байт в блоках должно быть сформировано для операций слияния. По умолчанию имеет то же значение, что и index_granularity_bytes.
merge_max_bytes_to_prewarm_cache
| Тип | По умолчанию |
|---|---|
UInt64 | 1073741824 |
Доступно только в ClickHouse Cloud. Максимальный размер части (компактной или упакованной), чтобы предварительно разогреть кеш во время слияния.
merge_selecting_sleep_ms
| Тип | По умолчанию |
|---|---|
UInt64 | 5000 |
Минимальное время ожидания перед повторной попыткой выбрать части для слияния после того, как части не были выбраны. Более низкая настройка будет часто инициировать задачи выбора в background_schedule_pool, что приводит к большому количеству запросов к ZooKeeper в крупных кластерах.
merge_selecting_sleep_slowdown_factor
| Тип | По умолчанию |
|---|---|
Float | 1.2 |
Время ожидания для задачи выбора слияния умножается на этот коэффициент, когда нечего объединять, и делится, когда слияние было назначено.
merge_selector_algorithm
| Тип | По умолчанию |
|---|---|
MergeSelectorAlgorithm | Simple |
Алгоритм выбора частей для назначения слияний.
merge_selector_base
| Тип | По умолчанию |
|---|---|
Float | 5 |
Влияет на увеличение записи назначенных слияний (настройка уровня экспертов, не изменяйте, если не понимаете, что она делает). Работает для простых и стохастических простых селекторов слияния.
merge_selector_blurry_base_scale_factor
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Контролирует, когда логика начинает действовать относительно количества частей в партиции. Чем больше коэффициент, тем более запоздалая реакция будет.
merge_selector_enable_heuristic_to_remove_small_parts_at_right
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Включает эвристику для выбора частей для слияния, которая удаляет части с правой стороны диапазона, если их размер меньше указанного отношения (0.01) от sum_size. Работает для простых и стохастических простых селекторов слияния.
merge_selector_window_size
| Тип | По умолчанию |
|---|---|
UInt64 | 1000 |
Сколько частей рассматривать одновременно.
merge_total_max_bytes_to_prewarm_cache
| Тип | По умолчанию |
|---|---|
UInt64 | 16106127360 |
Доступно только в ClickHouse Cloud. Максимальный размер частей в целом, чтобы предварительно разогреть кеш во время слияния.
merge_tree_clear_old_broken_detached_parts_ttl_timeout_seconds
| Тип | По умолчанию |
|---|---|
UInt64 | 2592000 |
Устаревшая настройка, ничего не делает.
merge_tree_clear_old_parts_interval_seconds
| Тип | По умолчанию |
|---|---|
UInt64 | 1 |
Устанавливает интервал в секундах для ClickHouse для выполнения очистки старых частей, WAL и мутаций.
Возможные значения:
- Любое положительное целое число.
merge_tree_clear_old_temporary_directories_interval_seconds
| Тип | По умолчанию |
|---|---|
UInt64 | 60 |
Устанавливает интервал в секундах для ClickHouse для выполнения очистки старых временных каталогов.
Возможные значения:
- Любое положительное целое число.
merge_tree_enable_clear_old_broken_detached
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Устаревшая настройка, ничего не делает.
merge_with_recompression_ttl_timeout
| Тип | По умолчанию |
|---|---|
Int64 | 14400 |
Минимальная задержка в секундах перед повторным слиянием с рекомпрессией TTL.
merge_with_ttl_timeout
| Тип | По умолчанию |
|---|---|
Int64 | 14400 |
Минимальная задержка в секундах перед повторным слиянием с удалением TTL.
merge_workload
Используется для регулирования того, как ресурсы используются и распределяются между слияниями и другими рабочими нагрузками. Указанное значение используется как значение настройки workload для фоновых слияний этой таблицы. Если не указано (пустая строка), то вместо этого используется настройка сервера merge_workload.
Смотрите также
min_absolute_delay_to_close
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Минимальная абсолютная задержка для закрытия, остановки обслуживания запросов и недопущения возврата Ok во время проверки статуса.
min_age_to_force_merge_on_partition_only
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Применяется ли 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
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Объединить части, если каждая часть в диапазоне старше значения 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
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Устаревшая настройка, ничего не делает.
min_bytes_for_full_part_storage
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Доступно только в ClickHouse Cloud. Минимальный необработанный размер в байтах, чтобы использовать полный тип хранения для части данных вместо упакованного.
min_bytes_for_wide_part
| Тип | По умолчанию |
|---|---|
UInt64 | 10485760 |
Минимальное количество байт/строк в части данных, которые можно хранить в формате Wide. Вы можете установить одно, оба или ни одно из этих настроек.
min_bytes_to_prewarm_caches
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Минимальный размер (необработанные байты), чтобы предварительно разогреть кеш меток и кеш первичного индекса для новых частей.
min_bytes_to_rebalance_partition_over_jbod
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Устанавливает минимальное количество байт для включения балансировки при распределении новых больших частей по дискам объемов JBOD.
Возможные значения:
- Положительное целое число.
0— Балансировка отключена.
Использование
Значение настройки min_bytes_to_rebalance_partition_over_jbod не должно быть меньше значения max_bytes_to_merge_at_max_space_in_pool / 1024. В противном случае ClickHouse сгенерирует исключение.
min_compress_block_size
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Минимальный размер блоков необработанных данных, необходимых для сжатия при записи следующей метки. Вы также можете указать эту настройку в глобальных настройках (см. настройку min_compress_block_size). Значение, указанное при создании таблицы, переопределяет глобальное значение для этой настройки.
min_compressed_bytes_to_fsync_after_fetch
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Минимальное количество сжатых байт для выполнения fsync для части после извлечения (0 - отключено).
min_compressed_bytes_to_fsync_after_merge
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Минимальное количество сжатых байт для выполнения fsync для части после слияния (0 - отключено).
min_delay_to_insert_ms
| Тип | По умолчанию |
|---|---|
UInt64 | 10 |
Минимальная задержка вставки данных в таблицу MergeTree в миллисекундах, если есть много несоединившихся частей в одной партиции.
min_delay_to_mutate_ms
| Тип | По умолчанию |
|---|---|
UInt64 | 10 |
Минимальная задержка мутации таблицы MergeTree в миллисекундах, если есть много незавершенных мутаций.
min_free_disk_bytes_to_perform_insert
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Минимальное количество байт, которые должны быть свободны в дисковом пространстве, чтобы вставить данные. Если количество доступных свободных байт меньше 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
| Тип | По умолчанию |
|---|---|
Float | 0 |
Минимальное соотношение свободного к общему дисковому пространству для выполнения 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
| Тип | По умолчанию |
|---|---|
UInt64 | 1024 |
Минимальный допустимый размер данных гранул в байтах.
Чтобы обеспечить защиту от случайного создания таблиц с очень низким index_granularity_bytes.
min_marks_to_honor_max_concurrent_queries
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Минимальное количество меток, считанных запросом, для применения настройки max_concurrent_queries.
Запросы по-прежнему будут ограничены другими настройками max_concurrent_queries.
Возможные значения:
- Положительное целое число.
0— Отключено (max_concurrent_queriesограничение не применяется ни к одному запросу).
Пример
min_merge_bytes_to_use_direct_io
| Тип | По умолчанию |
|---|---|
UInt64 | 10737418240 |
Минимальный объем данных для операции слияния, необходимый для использования прямого доступа к диску хранения. При слиянии частей данных ClickHouse рассчитывает общий объем хранения всех данных, которые будут объединены. Если объем превышает min_merge_bytes_to_use_direct_io байт, ClickHouse читает и записывает данные на диск хранения, используя интерфейс прямого доступа (O_DIRECT опция). Если min_merge_bytes_to_use_direct_io = 0, то прямой доступ отключен.
min_parts_to_merge_at_once
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Минимальное количество частей данных, которые селектор слияния может выбрать для объединения одновременно (настройка уровня экспертов, не изменяйте, если не понимаете, что она делает). 0 - отключено. Работает для простых и стохастических простых селекторов слияния.
min_relative_delay_to_close
| Тип | По умолчанию |
|---|---|
UInt64 | 300 |
Минимальная задержка от других реплик для закрытия, остановки обслуживания запросов и недопущения возврата Ok во время проверки статуса.
min_relative_delay_to_measure
| Тип | По умолчанию |
|---|---|
UInt64 | 120 |
Расчет относительной задержки реплики только в том случае, если абсолютная задержка не менее этого значения.
min_relative_delay_to_yield_leadership
| Тип | По умолчанию |
|---|---|
UInt64 | 120 |
Устаревшая настройка, ничего не делает.
min_replicated_logs_to_keep
| Тип | По умолчанию |
|---|---|
UInt64 | 10 |
Сохранять около этого числа последних записей в журнале ZooKeeper, даже если они устарели. Это не влияет на работу таблиц: используется только для диагностики журнала ZooKeeper перед очисткой.
Возможные значения:
- Любое положительное целое число.
min_rows_for_compact_part
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Устаревшая настройка, ничего не делает.
min_rows_for_full_part_storage
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Доступно только в ClickHouse Cloud. Минимальное количество строк для использования полного типа хранения для части данных вместо упакованного.
min_rows_for_wide_part
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Минимальное количество строк для создания части в широком формате вместо компактного.
min_rows_to_fsync_after_merge
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Минимальное количество строк для выполнения fsync для части после слияния (0 - отключено).
mutation_workload
Используется для регулирования того, как ресурсы используются и распределяются между мутациями и другими рабочими нагрузками. Указанное значение используется как значение настройки workload для фоновых мутаций этой таблицы. Если не указано (пустая строка), то вместо этого используется настройка сервера mutation_workload.
Смотрите также
non_replicated_deduplication_window
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Количество недавно вставленных блоков в нереплицированной таблице MergeTree, для которых хранятся контрольные суммы для проверки на дубликаты.
Возможные значения:
- Любое положительное целое число.
0(отключить дедупликацию).
Механизм дедупликации используется, аналогично реплицированным таблицам (см. настройку replicated_deduplication_window). Контрольные суммы созданных частей записываются в локальный файл на диске.
notify_newest_block_number
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Уведомить номер самого нового блока для SharedJoin или SharedSet. Только в ClickHouse Cloud.
number_of_free_entries_in_pool_to_execute_mutation
| Тип | По умолчанию |
|---|---|
UInt64 | 20 |
Когда в пуле остается менее указанного количества свободных записей, не выполняйте мутации частей. Это необходимо для того, чтобы оставить свободные потоки для обычных слияний и избежать ошибок «Слишком много частей».
Возможные значения:
- Любое положительное целое число.
Использование
Значение настройки number_of_free_entries_in_pool_to_execute_mutation должно быть меньше значения background_pool_size * background_merges_mutations_concurrency_ratio. В противном случае ClickHouse сгенерирует исключение.
number_of_free_entries_in_pool_to_execute_optimize_entire_partition
| Тип | По умолчанию |
|---|---|
UInt64 | 25 |
Когда в пуле остается менее указанного количества свободных записей, не выполняйте оптимизацию всей партиции в фоновом режиме (эта задача генерируется при установке min_age_to_force_merge_seconds и включении min_age_to_force_merge_on_partition_only). Это необходимо для того, чтобы оставить свободные потоки для обычных слияний и избежать ошибок «Слишком много частей».
Возможные значения:
- Положительное целое число.
Значение настройки number_of_free_entries_in_pool_to_execute_optimize_entire_partition должно быть меньше значения background_pool_size * background_merges_mutations_concurrency_ratio. В противном случае ClickHouse сгенерирует исключение.
number_of_free_entries_in_pool_to_lower_max_size_of_merge
| Тип | По умолчанию |
|---|---|
UInt64 | 8 |
Когда в пуле остается меньше указанного количества свободных записей (или в реплицированной очереди), начните уменьшать максимальный размер слияния для обработки (или для помещения в очередь). Это необходимо для того, чтобы небольшие слияния могли обрабатываться, не заполняя пул длительными слияниями.
Возможные значения:
- Любое положительное целое число.
number_of_mutations_to_delay
| Тип | По умолчанию |
|---|---|
UInt64 | 500 |
Если в таблице есть как минимум столько незавершенных мутаций, искусственно замедляйте мутации таблицы. Отключено, если установлено в 0.
number_of_mutations_to_throw
| Тип | По умолчанию |
|---|---|
UInt64 | 1000 |
Если в таблице есть как минимум столько незавершенных мутаций, выбросьте исключение «Слишком много мутаций». Отключено, если установлено в 0.
number_of_partitions_to_consider_for_merge
| Тип | По умолчанию |
|---|---|
UInt64 | 10 |
Доступно только в ClickHouse Cloud. До верхних N партиций, которые мы будем рассматривать для слияния. Партиции выбираются случайным взвешенным образом, где вес — это количество частей данных, которые можно объединить в этой партиции.
old_parts_lifetime
| Тип | По умолчанию |
|---|---|
Seconds | 480 |
Время (в секундах) хранения неактивных частей для защиты от потери данных во время спонтанной перезагрузки сервера.
Возможные значения:
- Любое положительное целое число.
После слияния нескольких частей в новую часть ClickHouse помечает оригинальные части как неактивные и удаляет их только через old_parts_lifetime секунд. Неактивные части удаляются, если они не используются текущими запросами, т. е. если refcount части равен 1.
fsync не вызывается для новых частей, поэтому какое-то время новые части существуют только в ОЗУ сервера (кэш ОС). Если сервер будет перезагружен спонтанно, новые части могут быть потеряны или повреждены. Для защиты данных неактивные части не удаляются немедленно.
Во время старта ClickHouse проверяет целостность частей. Если объединенная часть повреждена, ClickHouse возвращает неактивные части в активный список и позже снова объединяет их. Затем поврежденная часть переименовывается (приписывается префикс broken_) и перемещается в папку detached. Если объединенная часть не повреждена, оригинальные неактивные части переименовываются (приписывается префикс ignored_) и перемещаются в папку detached.
Значение по умолчанию для dirty_expire_centisecs (настройка ядра Linux) составляет 30 секунд (максимальное время, в течение которого записанные данные сохраняются только в ОЗУ), но при высокой нагрузке на дисковую систему данные могут записываться гораздо позже. Экспериментально было выбрано значение 480 секунд для old_parts_lifetime, в течение которого новая часть гарантированно будет записана на диск.
optimize_row_order
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Управляет тем, следует ли оптимизировать порядок строк во время вставок, чтобы улучшить сжимаемость новой вставленной части таблицы.
Воздействует только на обычные таблицы с движком MergeTree. Ничего не делает для специализированных таблиц движка MergeTree (например, CollapsingMergeTree).
Таблицы MergeTree (по желанию) сжимаются с использованием кодеков сжатия. Общие кодеки сжатия, такие как LZ4 и ZSTD, достигают максимальных коэффициентов сжатия, если данные показывают закономерности. Долгие последовательности одинаковых значений обычно сжимаются очень хорошо.
Если эта настройка включена, ClickHouse пытается хранить данные в вновь вставленных частях в таком порядке строк, который минимизирует количество равных значений в пределах колонок новой части таблицы. Другими словами, небольшое количество равных пробегов означает, что отдельные пробеги длинные и хорошо сжимаются.
Поиск оптимального порядка строк вычислительно трудоемок (NP-трудная задача). Поэтому ClickHouse использует эвристику для быстрого нахождения порядка строк, который все же улучшает коэффициенты сжатия по сравнению с оригинальным порядком строк.
Эвристика для нахождения порядка строк
В общем, возможно произвольно перемешивать строки таблицы (или части таблицы), так как SQL считает, что одна и та же таблица (часть таблицы) в разном порядке строк эквивалентна.
Эта свобода перемешивания строк ограничивается, когда для таблицы определяется первичный ключ. В ClickHouse первичный ключ C1, C2, ..., CN заставляет таблицу сортироваться по колонкам C1, C2, ... Cn (кластерный индекс). В результате строки могут быть перемешаны только внутри «эквивалентных классов» строк, т.д. строк, которые имеют одинаковые значения в своих столбцах первичного ключа. Интуиция заключается в том, что первичные ключи с высокой кардинальностью, например, первичные ключи, включающие столбец временной метки DateTime64, приводят к множеству маленьких эквивалентных классов. Аналогично, таблицы с первичным ключом с низкой кардинальностью создают немного, но большие эквивалентные классы. Таблица без первичного ключа представляет крайний случай одного эквивалентного класса, охватывающего все строки.
Чем меньше и больше эквивалентные классы, тем выше степень свободы при повторной сортировке строк.
Эвристика, применяемая для нахождения лучшего порядка строк внутри каждого эквивалентного класса, предложена D. Lemire, O. Kaser в Reordering columns for smaller indexes и основана на сортировке строк внутри каждого эквивалентного класса по возрастанию кардинальности ненастоящих ключевых колонок.
Она выполняет три шага:
- Найти все эквивалентные классы на основе значений строк в колонках первичного ключа.
- Для каждого эквивалентного класса вычислить (обычно оценить) кардинальности ненастоящих ключевых колонок.
- Для каждого эквивалентного класса отсортировать строки в порядке возрастания кардинальности ненастоящих ключевых колонок.
Если включено, операции вставки несут дополнительные затраты на CPU для анализа и оптимизации порядка строк новых данных. Операции INSERT ожидаются на 30-50% дольше в зависимости от характеристик данных. Коэффициенты сжатия LZ4 или ZSTD улучшаются в среднем на 20–40%.
Эта настройка работает лучше всего для таблиц без первичного ключа или с первичным ключом с низкой кардинальностью, т.е. для таблицы с небольшим количеством различных значений первичного ключа. Первичные ключи с высокой кардинальностью, например, включающие временные метки типа DateTime64, не ожидается, что получат выгоду от этой настройки.
part_moves_between_shards_delay_seconds
| Тип | По умолчанию |
|---|---|
UInt64 | 30 |
Время ожидания до/после перемещения частей между шардом.
part_moves_between_shards_enable
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Экспериментальная/незавершенная функция для перемещения частей между шардом. Не учитывает выражения шардирования.
parts_to_delay_insert
| Тип | По умолчанию |
|---|---|
UInt64 | 1000 |
Если число активных частей в одной партиции превышает
значение parts_to_delay_insert, то INSERT искусственно замедляется.
Допустимые значения:
- Любое положительное целое число.
ClickHouse искусственно выполняет INSERT дольше (добавляет 'sleep'), чтобы
фоновый процесс слияния мог объединять части быстрее, чем они добавляются.
parts_to_throw_insert
| Тип | По умолчанию |
|---|---|
UInt64 | 3000 |
Если число активных частей в одной партиции превышает
значение parts_to_throw_insert, INSERT прерывается с исключением Слишком много частей (N). Слияние обрабатывается значительно медленнее, чем вставки.
Допустимые значения:
- Любое положительное целое число.
Для достижения максимальной производительности запросов SELECT необходимо
минимизировать количество обрабатываемых частей, см. Merge Tree.
До версии 23.6 эта настройка была установлена на 300. Вы можете установить
большее значение, это уменьшит вероятность ошибки Слишком много частей, но в
то же время производительность SELECT может ухудшиться. Также в случае
проблем со слиянием (например, из-за недостаточного места на диске) вы
заметите это позже, чем с оригинальными 300.
prefer_fetch_merged_part_size_threshold
| Тип | По умолчанию |
|---|---|
UInt64 | 10737418240 |
Если сумма размера частей превышает этот порог и время с момента
создания записи в журнале репликации превышает
prefer_fetch_merged_part_time_threshold, то предпочтительно вытягивать объединённую часть
с реплики вместо выполнения слияния локально. Это сделано для ускорения очень длительных
слияний.
Допустимые значения:
- Любое положительное целое число.
prefer_fetch_merged_part_time_threshold
| Тип | По умолчанию |
|---|---|
Seconds | 3600 |
Если время, прошедшее с момента создания записи в журнале репликации
(ClickHouse Keeper или ZooKeeper), превышает этот порог, и сумма размера частей больше,
чем prefer_fetch_merged_part_size_threshold, то предпочтительно вытягивать
объединённую часть с реплики вместо выполнения слияния локально. Это сделано для
ускорения очень длительных слияний.
Допустимые значения:
- Любое положительное целое число.
prewarm_mark_cache
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Если истинно, кэш меток будет предварительно загружен, сохраняя метки в кэше меток при вставках, слияниях, извлечении и при запуске сервера.
prewarm_primary_key_cache
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Если истинно, кэш первичного индекса будет предварительно загружен, сохраняя метки в кэше меток при вставках, слияниях, извлечениях и при запуске сервера.
primary_key_compress_block_size
| Тип | По умолчанию |
|---|---|
UInt64 | 65536 |
Размер блока сжатия первичного блока, фактический размер блока для сжатия.
primary_key_compression_codec
| Тип | По умолчанию |
|---|---|
String | ZSTD(3) |
Кодек сжатия, используемый первичным, первичный ключ достаточно мал и кэшируется, поэтому кодек по умолчанию — ZSTD(3).
primary_key_lazy_load
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Загружайте первичный ключ в память при первом использовании вместо инициализации таблицы. Это может сэкономить память в наличии большого количества таблиц.
primary_key_ratio_of_unique_prefix_values_to_skip_suffix_columns
| Тип | По умолчанию |
|---|---|
Float | 0.9 |
Если значение столбца первичного ключа в части данных изменяется хотя бы в таком соотношении, пропускайте загрузку следующих столбцов в память. Это позволяет сэкономить использование памяти, не загружая ненужные столбцы первичного ключа.
ratio_of_defaults_for_sparse_serialization
| Тип | По умолчанию |
|---|---|
Float | 0.9375 |
Минимальное соотношение числа значений по умолчанию к числу всех значений в столбце. Установка этого значения приводит к тому, что столбец будет храниться с использованием разреженной сериализации.
Если столбец разреженный (содержит в основном нули), 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:
Обратите внимание, что столбец s в my_sparse_table использует меньше места на диске:
Вы можете проверить, использует ли столбец разреженное кодирование, просмотрев
столбец serialization_kind таблицы system.parts_columns:
Вы можете увидеть, какие части s были сохранены с использованием разреженной сериализации:
reduce_blocking_parts_sleep_ms
| Тип | По умолчанию |
|---|---|
UInt64 | 5000 |
Доступно только в ClickHouse Cloud. Минимальное время ожидания перед тем, как попробовать снова уменьшить блокирующие части после того, как диапазоны не были удалены/заменены. Более низкая настройка приведет к частому запуску задач в background_schedule_pool, что приводит к большому количеству запросов к ZooKeeper в масштабируемых кластерах.
remote_fs_execute_merges_on_single_replica_time_threshold
| Тип | По умолчанию |
|---|---|
Seconds | 10800 |
Когда это значение больше нуля, только одна реплика начинается
слияние немедленно, если объединённая часть на общем хранилище и
allow_remote_fs_zero_copy_replication включен.
Репликация без копий не готова к производству Репликация без копий отключена по умолчанию в ClickHouse версии 22.8 и выше.
Эта функция не рекомендуется для производственного использования.
Допустимые значения:
- Любое положительное целое число.
remote_fs_zero_copy_path_compatible_mode
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Запуск нулевой копии в совместимом режиме во время процесса преобразования.
remote_fs_zero_copy_zookeeper_path
| Тип | По умолчанию |
|---|---|
String | /clickhouse/zero_copy |
Путь ZooKeeper для информации о нулевой копии, независимой от таблицы.
remove_empty_parts
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Удаление пустых частей после их обрезки с помощью TTL, мутации или алгоритма слияния коллапса.
remove_rolled_back_parts_immediately
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Настройка для неполной экспериментальной функции.
replace_long_file_name_to_hash
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Если имя файла для столбца слишком длинное (более
max_file_name_length байт), замените его на SipHash128.
replicated_can_become_leader
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Если истинно, реплики таблиц реплицируемых на этом узле будут пытаться приобрести лидерство.
Допустимые значения:
truefalse
replicated_deduplication_window
| Тип | По умолчанию |
|---|---|
UInt64 | 1000 |
Количество самых недавно вставленных блоков, для которых ClickHouse Keeper хранит хеш-суммы для проверки дубликатов.
Допустимые значения:
- Любое положительное целое число.
- 0 (отключить дедупликацию)
Команда Insert создаёт один или несколько блоков (частей). Для
дедупликации вставок
при записи в реплицированные таблицы ClickHouse записывает хеш-суммы созданных
частей в ClickHouse Keeper. Хеш-суммы хранятся только для самых
недавних replicated_deduplication_window блоков. Самые старые хеш-суммы
удаляются из ClickHouse Keeper.
Большое число для replicated_deduplication_window замедляет Inserts, так как нужно
сравнивать больше записей. Хеш-сумма вычисляется по составу имен и типов полей
и данных вставленной части (потока байтов).
replicated_deduplication_window_for_async_inserts
| Тип | По умолчанию |
|---|---|
UInt64 | 10000 |
Количество самых недавно асинхронно вставленных блоков, для которых 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
| Тип | По умолчанию |
|---|---|
UInt64 | 604800 |
Количество секунд, через которые хеш-суммы вставленных блоков будут удалены из 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
| Тип | По умолчанию |
|---|---|
UInt64 | 604800 |
Количество секунд, по истечении которых хеш-суммы асинхронных вставок будут удалены из 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
| Тип | По умолчанию |
|---|---|
Seconds | 0 |
Устаревшая настройка, ничего не делает.
replicated_fetches_http_receive_timeout
| Тип | По умолчанию |
|---|---|
Seconds | 0 |
Устаревшая настройка, ничего не делает.
replicated_fetches_http_send_timeout
| Тип | По умолчанию |
|---|---|
Seconds | 0 |
Устаревшая настройка, ничего не делает.
replicated_max_mutations_in_one_entry
| Тип | По умолчанию |
|---|---|
UInt64 | 10000 |
Максимальное количество команд мутации, которые могут быть объединены и выполнены в одной записи MUTATE_PART (0 значит неограничено).
replicated_max_parallel_fetches
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Устаревшая настройка, ничего не делает.
replicated_max_parallel_fetches_for_host
| Тип | По умолчанию |
|---|---|
UInt64 | 15 |
Устаревшая настройка, ничего не делает.
replicated_max_parallel_fetches_for_table
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Устаревшая настройка, ничего не делает.
replicated_max_parallel_sends
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Устаревшая настройка, ничего не делает.
replicated_max_parallel_sends_for_table
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Устаревшая настройка, ничего не делает.
replicated_max_ratio_of_wrong_parts
| Тип | По умолчанию |
|---|---|
Float | 0.5 |
Если соотношение неправильных частей к общему числу частей меньше этого - разрешить запуск.
Допустимые значения:
- Float, 0.0 - 1.0.
shared_merge_tree_create_per_replica_metadata_nodes
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Включает создание метаданных по репликам /metadata и /columns в ZooKeeper. Доступно только в ClickHouse Cloud.
shared_merge_tree_disable_merges_and_mutations_assignment
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Остановите задание слияний для объединённого дерева. Доступно только в ClickHouse Cloud.
shared_merge_tree_enable_keeper_parts_extra_data
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Включает запись атрибутов в виртуальные части и фиксирование блоков в Keeper.
shared_merge_tree_enable_outdated_parts_check
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Включение проверки устаревших частей. Доступно только в ClickHouse Cloud.
shared_merge_tree_idle_parts_update_seconds
| Тип | По умолчанию |
|---|---|
UInt64 | 3600 |
Интервал в секундах для обновления частей без триггера от наблюдения ZooKeeper в общем дереве. Доступно только в ClickHouse Cloud.
shared_merge_tree_initial_parts_update_backoff_ms
| Тип | По умолчанию |
|---|---|
UInt64 | 50 |
Первичный параметр ожидания для обновления частей. Доступно только в ClickHouse Cloud.
shared_merge_tree_interserver_http_connection_timeout_ms
| Тип | По умолчанию |
|---|---|
UInt64 | 100 |
Таймауты для межсерверного HTTP-соединения. Доступно только в ClickHouse Cloud.
shared_merge_tree_interserver_http_timeout_ms
| Тип | По умолчанию |
|---|---|
UInt64 | 10000 |
Таймауты для межсерверного HTTP-общения. Доступно только в ClickHouse Cloud.
shared_merge_tree_leader_update_period_random_add_seconds
| Тип | По умолчанию |
|---|---|
UInt64 | 10 |
Добавьте равномерно распределённое значение от 0 до x секунд к периоду обновления лидера shared_merge_tree, чтобы избежать эффекта стадности. Доступно только в ClickHouse Cloud.
shared_merge_tree_leader_update_period_seconds
| Тип | По умолчанию |
|---|---|
UInt64 | 30 |
Максимальный период повторной проверки лидерства для обновления частей. Доступно только в ClickHouse Cloud.
shared_merge_tree_max_outdated_parts_to_process_at_once
| Тип | По умолчанию |
|---|---|
UInt64 | 1000 |
Максимальное количество устаревших частей, которые лидер попытается подтвердить на одном HTTP-запросе. Доступно только в ClickHouse Cloud.
shared_merge_tree_max_parts_update_backoff_ms
| Тип | По умолчанию |
|---|---|
UInt64 | 5000 |
Максимальное ожидание для обновления частей. Доступно только в ClickHouse Cloud.
shared_merge_tree_max_parts_update_leaders_in_total
| Тип | По умолчанию |
|---|---|
UInt64 | 6 |
Максимальное количество лидеров обновления частей. Доступно только в ClickHouse Cloud.
shared_merge_tree_max_parts_update_leaders_per_az
| Тип | По умолчанию |
|---|---|
UInt64 | 2 |
Максимальное количество лидеров обновления частей. Доступно только в ClickHouse Cloud.
shared_merge_tree_max_replicas_for_parts_deletion
| Тип | По умолчанию |
|---|---|
UInt64 | 10 |
Максимальное количество реплик, которые будут участвовать в удалении частей (поток убийцы). Доступно только в ClickHouse Cloud.
shared_merge_tree_max_replicas_to_merge_parts_for_each_parts_range
| Тип | По умолчанию |
|---|---|
UInt64 | 5 |
Максимальное количество реплик, которые будут пытаться назначить потенциально конфликтующие слияния (позволяет избегать избыточных конфликтов при назначении слияний). 0 означает отключённо. Доступно только в ClickHouse Cloud.
shared_merge_tree_max_suspicious_broken_parts
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Максимальное количество повреждённых частей для SMT, если больше — отклонить автоматическое отсоединение.
shared_merge_tree_max_suspicious_broken_parts_bytes
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Максимальный размер всех повреждённых частей для SMT, если больше — отклонить автоматическое отсоединение.
shared_merge_tree_memo_ids_remove_timeout_seconds
| Тип | По умолчанию |
|---|---|
Int64 | 1800 |
В течение какого времени мы храним идентификаторы мемоизации вставок, чтобы избежать неверных действий при повторных попытках вставки. Доступно только в ClickHouse Cloud.
shared_merge_tree_partitions_hint_ratio_to_reload_merge_pred_for_mutations
| Тип | По умолчанию |
|---|---|
Float | 0.5 |
Будет перезагружено условие слияния в задаче выбора для слияния/мутации, если
соотношение <кандидатные партиции для мутаций только (партиции, которые не могут быть объединены)>/<кандидатные партиции для мутаций> выше настройки. Доступно только в ClickHouse Cloud.
shared_merge_tree_parts_load_batch_size
| Тип | По умолчанию |
|---|---|
UInt64 | 32 |
Количество задач загрузки метаданных частей для запланированной обработки за раз. Доступно только в ClickHouse Cloud.
shared_merge_tree_postpone_next_merge_for_locally_merged_parts_ms
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Время, в течение которого следует хранить локально объединённую часть без начала нового слияния с включением этой части. Позволяет другим репликам получить часть и начать это слияние. Доступно только в ClickHouse Cloud.
shared_merge_tree_postpone_next_merge_for_locally_merged_parts_rows_threshold
| Тип | По умолчанию |
|---|---|
UInt64 | 1000000 |
Минимальный размер части (в строках), чтобы отложить назначение следующего слияния сразу после объединения её локально. Доступно только в ClickHouse Cloud.
shared_merge_tree_range_for_merge_window_size
| Тип | По умолчанию |
|---|---|
UInt64 | 10 |
Время, в течение которого следует хранить локально объединённую часть без начала нового слияния с этой частью. Позволяет другим репликам получить часть и начать это слияние. Доступно только в ClickHouse Cloud.
shared_merge_tree_read_virtual_parts_from_leader
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Читать виртуальные части от лидера, когда это возможно. Доступно только в ClickHouse Cloud.
shared_merge_tree_try_fetch_part_in_memory_data_from_replicas
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Если включено, все реплики попытаются получить данные части в памяти (такие как первичный ключ, информация о партиции и так далее) от других реплик, где это уже существует.
shared_merge_tree_use_metadata_hints_cache
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Включает запрос кэшированных подсказок FS из памяти кэша на других репликах. Доступно только в ClickHouse Cloud.
shared_merge_tree_use_outdated_parts_compact_format
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Использовать компактный формат для устаревших частей: уменьшает нагрузку на Keeper, улучшает обработку устаревших частей. Доступно только в ClickHouse Cloud.
shared_merge_tree_use_too_many_parts_count_from_virtual_parts
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Если включено, счётчик слишком большого количества частей будет полагаться на общие данные в Keeper, а не на локальное состояние реплики. Доступно только в ClickHouse Cloud.
simultaneous_parts_removal_limit
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Если существует много устаревших частей, поток очистки попытается удалить до
simultaneous_parts_removal_limit частей за одну итерацию.
simultaneous_parts_removal_limit, установленный на 0, означает неограниченное.
sleep_before_commit_local_part_in_replicated_table_ms
| Тип | По умолчанию |
|---|---|
Milliseconds | 0 |
Для тестирования. Не изменяйте это.
sleep_before_loading_outdated_parts_ms
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Для тестирования. Не изменяйте это.
storage_policy
| Тип | По умолчанию |
|---|---|
String | default |
Имя политики дисков хранения.
table_disk
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Это диск таблицы, путь/конечная точка должны указывать на данные таблицы, а не на данные базы данных. Может быть установлен только для s3_plain/s3_plain_rewritable/web.
temporary_directories_lifetime
| Тип | По умолчанию |
|---|---|
Seconds | 86400 |
Сколько секунд хранить директории tmp_. Не следует понижать это значение, так как слияния и мутации могут не работать с низким значением этой настройки.
try_fetch_recompressed_part_timeout
| Тип | По умолчанию |
|---|---|
Seconds | 7200 |
Тайм-аут (в секундах) перед началом слияния с рекомпрессией. В течение этого времени ClickHouse пытается получить рекомпрессированную часть от реплики, которая назначила это слияние с рекомпрессией.
Рекомпрессия работает медленно в большинстве случаев, поэтому мы не запускаем слияние с рекомпрессией до истечения этого таймаута и пытаемся получить рекомпрессированную часть от реплики, которая назначила это слияние с рекомпрессией.
Допустимые значения:
- Любое положительное целое число.
ttl_only_drop_parts
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Управляет тем, удаляются ли части данных полностью в таблицах MergeTree, когда все
строки в этой части истекли согласно их настройкам TTL.
Когда ttl_only_drop_parts отключен (по умолчанию), то удаляются только строки, которые
истекли в соответствии с их настройками TTL.
Когда ttl_only_drop_parts включен, вся часть удаляется, если все
строки в этой части истекли в соответствии с их настройками TTL.
use_adaptive_write_buffer_for_dynamic_subcolumns
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Позволяет использовать адаптивные буферы записи при записи динамических подстолбцов для сокращения использования памяти.
use_async_block_ids_cache
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Если истинно, мы кэшируем хеш-суммы асинхронных вставок.
Допустимые значения:
truefalse
Блок, содержащий несколько асинхронных вставок, создаст несколько хеш-сумм. Когда некоторые из вставок дублируются, Keeper вернёт лишь одну дублированную хеш-сумму в одном RPC, что вызовет ненужные повторные попытки RPC. Этот кэш будет следить за путём хеш-сумм в Keeper. Если в Keeper будут замечены изменения, кэш обновится как можно скорее, чтобы мы смогли отфильтровать дублированные вставки в памяти.
use_compact_variant_discriminators_serialization
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Включает компактный режим для бинарной сериализации дискриминаторов в типе данных Variant. Этот режим позволяет существенно сэкономить память при хранении дискриминаторов в частях, когда в основном присутствует один вариант или много значений NULL.
use_const_adaptive_granularity
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Всегда используйте постоянную гранулярность для всей части. Это позволяет сжимать в памяти значения гранулярности индекса. Может быть полезно в чрезвычайно больших нагрузках с тонкими таблицами.
use_metadata_cache
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Устаревшая настройка, ничего не делает.
use_minimalistic_checksums_in_zookeeper
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Используйте малый формат (десятки байт) для хеш-сумм частей в ZooKeeper вместо обычных (десятки КБ). Перед включением проверьте, что все реплики поддерживают новый формат.
use_minimalistic_part_header_in_zookeeper
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Метод хранения заголовков данных частей в ZooKeeper. Если включён, ZooKeeper сохраняет меньше данных. Подробности см. здесь.
use_primary_key_cache
| Тип | По умолчанию |
|---|---|
Bool | 0 |
Используйте кэш для первичного индекса вместо сохранения всех индексов в памяти. Может быть полезно для очень больших таблиц.
vertical_merge_algorithm_min_bytes_to_activate
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Минимальный (приблизительный) несжатый размер в байтах в сливаемых частях для активации вертикального алгоритма слияния.
vertical_merge_algorithm_min_columns_to_activate
| Тип | По умолчанию |
|---|---|
UInt64 | 11 |
Минимальное количество ненулевых PK столбцов для активации вертикального алгоритма слияния.
vertical_merge_algorithm_min_rows_to_activate
| Тип | По умолчанию |
|---|---|
UInt64 | 131072 |
Минимальная (приблизительная) сумма строк в сливаемых частях для активации вертикального алгоритма слияния.
vertical_merge_remote_filesystem_prefetch
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Если истинно, будет использовано предварительное извлечение данных из удалённой файловой системы для следующего столбца во время слияния.
wait_for_unique_parts_send_before_shutdown_ms
| Тип | По умолчанию |
|---|---|
Milliseconds | 0 |
Перед завершением работы таблица будет ожидать необходимое количество времени, чтобы уникальные части (существующие только на текущей реплике) были извлечены другими репликами (0 означает отключено).
write_ahead_log_bytes_to_fsync
| Тип | По умолчанию |
|---|---|
UInt64 | 104857600 |
Устаревшая настройка, ничего не делает.
write_ahead_log_interval_ms_to_fsync
| Тип | По умолчанию |
|---|---|
UInt64 | 100 |
Устаревшая настройка, ничего не делает.
write_ahead_log_max_bytes
| Тип | По умолчанию |
|---|---|
UInt64 | 1073741824 |
Устаревшая настройка, ничего не делает.
write_final_mark
| Тип | По умолчанию |
|---|---|
Bool | 1 |
Устаревшая настройка, ничего не делает.
zero_copy_concurrent_part_removal_max_postpone_ratio
| Тип | По умолчанию |
|---|---|
Float | 0.05 |
Максимальный процент верхнего уровня частей, которые можно отложить для удаления с целью получения меньших независимых диапазонов. Рекомендуется не изменять.
zero_copy_concurrent_part_removal_max_split_times
| Тип | По умолчанию |
|---|---|
UInt64 | 5 |
Максимальная глубина рекурсии для разделения независимых устаревших диапазонов на более мелкие поддиапазоны. Рекомендуется не изменять.
zero_copy_merge_mutation_min_parts_size_sleep_before_lock
| Тип | По умолчанию |
|---|---|
UInt64 | 1073741824 |
Если включена репликация без копий, случайным образом подождите некоторое время перед попыткой заблокировать в зависимости от размера частей для слияния или мутации.
zero_copy_merge_mutation_min_parts_size_sleep_no_scale_before_lock
| Тип | По умолчанию |
|---|---|
UInt64 | 0 |
Если включена репликация без копий, случайным образом подождите время до 500ms перед попыткой заблокировать для слияния или мутации.
zookeeper_session_expiration_check_period
| Тип | По умолчанию |
|---|---|
Seconds | 60 |
Период проверки истечения сессии ZooKeeper в секундах.
Возможные значения:
- Любое положительное целое число.