parallel_replicas_allow_in_with_subquery
Если значение true, подзапрос для IN будет выполняться на каждой реплике-follower.parallel_replicas_allow_materialized_views
Разрешить использование материализованных представлений с параллельными репликамиparallel_replicas_allow_merge_tables
Разрешает чтение из таблицыMerge с параллельными репликами. Действует только совместно с parallel_replicas_plan_based: чтение из таблицы Merge разворачивается в объединение чтений из базовых таблиц MergeTree, которое затем распределяется, как любое другое объединение. Таблица Merge обрабатывается одной репликой, если хотя бы одну из её базовых таблиц нельзя читать таким образом (таблица, не относящаяся к MergeTree, чтение с FINAL). Установите значение false, чтобы, как и до добавления этой поддержки, читать каждую таблицу Merge одной репликой. Экспериментальная.
parallel_replicas_allow_view_over_mergetree
Разрешает параллельным репликам выполнять внешний запрос простого представления над таблицамиMergeTree (вместо внутреннего запроса представления), что улучшает распараллеливание между узлами. Также применяется к представлениям UNION ALL, все ветви которых читают из разных таблиц MergeTree.
parallel_replicas_connect_timeout_ms
Тайм-аут в миллисекундах для подключения к удалённой реплике во время выполнения запроса в режиме параллельных реплик. Если тайм-аут истекает, соответствующая реплика не используется для выполнения запросаparallel_replicas_count
Это внутренняя настройка, её не следует использовать напрямую: она отражает детали реализации режима «параллельных реплик». Для распределённых запросов сервер-инициатор автоматически устанавливает её в значение, равное числу параллельных реплик, участвующих в обработке запроса.parallel_replicas_custom_key
Произвольное целочисленное выражение, которое можно использовать для распределения работы между репликами для конкретной таблицы. Значением может быть любое целочисленное выражение. Предпочтительны простые выражения на основе первичных ключей. Если эта настройка используется в кластере, состоящем из одного сегмента и нескольких реплик, эти реплики будут преобразованы в виртуальные сегменты. В противном случае она будет работать так же, как ключSAMPLE: будут использоваться несколько реплик каждого сегмента.
Выражение проверяется с учетом привилегий пользователя SELECT на уровне столбцов. Для представления с SQL SECURITY DEFINER или NONE оно применяется к столбцам представления; тело представления читается без такой проверки.
parallel_replicas_custom_key_range_lower
Позволяет фильтру типаrange равномерно распределять нагрузку между репликами на основе пользовательского диапазона [parallel_replicas_custom_key_range_lower, INT_MAX].
При использовании вместе с parallel_replicas_custom_key_range_upper позволяет фильтру равномерно распределять нагрузку между репликами в диапазоне [parallel_replicas_custom_key_range_lower, parallel_replicas_custom_key_range_upper].
Примечание: эта настройка не приводит к дополнительной фильтрации данных при обработке запросов, а лишь изменяет точки, в которых фильтр диапазона разбивает диапазон [0, INT_MAX] для параллельной обработки.
parallel_replicas_custom_key_range_upper
Позволяет фильтру типаrange равномерно распределять работу между репликами на основе настраиваемого диапазона [0, parallel_replicas_custom_key_range_upper]. Значение 0 отключает верхнюю границу и устанавливает её равной максимальному значению выражения пользовательского ключа.
При использовании вместе с parallel_replicas_custom_key_range_lower эта настройка позволяет фильтру равномерно распределять работу между репликами для диапазона [parallel_replicas_custom_key_range_lower, parallel_replicas_custom_key_range_upper].
Примечание: эта настройка сама по себе не приводит к дополнительной фильтрации данных при обработке запроса, а лишь изменяет точки, в которых фильтр диапазона разбивает диапазон [0, INT_MAX] для параллельной обработки
parallel_replicas_filter_pushdown
Разрешить pushdown фильтров в ту часть запроса, которую выполняют параллельные репликиparallel_replicas_for_cluster_engines
Заменяет движки табличных функций на соответствующие варианты -Clusterparallel_replicas_for_non_replicated_merge_tree
Если установлено значение true, ClickHouse будет использовать алгоритм параллельных реплик и для нереплицируемых таблиц семейства MergeTreeparallel_replicas_index_analysis_only_on_coordinator
Анализ индекса выполняется только на реплике-координаторе и не выполняется на других репликах. Действует только при включенном parallel_replicas_local_planparallel_replicas_insert_select_local_pipeline
Использовать локальный конвейер при распределённом INSERT SELECT с параллельными репликамиparallel_replicas_local_plan
Использовать локальный план для локальной репликиparallel_replicas_mark_segment_size
Части логически разбиваются на сегменты, которые распределяются между репликами для параллельного чтения. Этот параметр задаёт размер этих сегментов. Не рекомендуется изменять его, пока вы не будете полностью уверены в том, что делаете. Значение должно находиться в диапазоне [128; 16384]parallel_replicas_min_number_of_rows_per_replica
Ограничивает число реплик, используемых в запросе, значением (оценочное количество строк для чтения / min_number_of_rows_per_replica). Максимальное значение по-прежнему ограничено параметром ‘max_parallel_replicas’parallel_replicas_mode
Тип фильтра, используемого с пользовательским ключом для параллельных реплик. default — использовать операцию modulo для пользовательского ключа, range — использовать фильтр диапазона для пользовательского ключа с применением всех возможных значений типа значения этого ключа.parallel_replicas_plan_based
Определяет, следует ли использовать параллельные реплики и где именно, на основе анализа плана запроса, а не дерева запроса. В результате удалённым репликам вместо SQL-запроса отправляется фрагмент плана. Экспериментальная.parallel_replicas_prefer_local_join
Еслиtrue, и JOIN можно выполнить с помощью алгоритма параллельных реплик, а каждое хранилище той части JOIN, которая иначе была бы материализована во временную таблицу, может быть прочитано каждой репликой самостоятельно, будет использоваться локальный JOIN вместо GLOBAL JOIN. Такой частью является правая — за исключением RIGHT JOIN, где это левая часть и где каждое хранилище должно быть пригодно для параллельных реплик, а не просто быть таблицей семейства *MergeTree. Хранилище на материализуемой стороне вложенного GLOBAL JOIN или под GLOBAL IN не учитывается, поскольку initiator материализует их сам.
parallel_replicas_prefer_local_replica
Если включено (по умолчанию), локальная реплика всегда включается в набор реплик, используемых для параллельного чтения. Если отключено, локальной реплике не отдается предпочтение, и реплики выбираются исключительно алгоритмом балансировки нагрузки. Это позволяет направлять запросы сmax_parallel_replicas = 1 на другой хост, что может улучшить локальность кэша, когда множество коротких запросов распределено по кластеру.