Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Настройки сеанса insert_quorum_*

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

insert_quorum

Тип
UInt64Auto
По умолчанию
0

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

  • Если insert_quorum < 2, запись с кворумом отключена.
  • Если insert_quorum >= 2, запись с кворумом включена.
  • Если insert_quorum = 'auto', в качестве размера кворума используется большинство (number_of_replicas / 2 + 1).

Запись с кворумом

INSERT считается успешным, только если ClickHouse удается корректно записать данные на insert_quorum реплик в течение insert_quorum_timeout. Если по какой-либо причине число реплик с успешной записью не достигает insert_quorum, запись считается неуспешной, и ClickHouse удаляет вставленный блок со всех реплик, на которые данные уже были записаны.

Когда insert_quorum_parallel отключен, все реплики в кворуме согласованы, то есть содержат данные из всех предыдущих запросов INSERT (последовательность INSERT линеаризована). При чтении данных, записанных с использованием insert_quorum, если insert_quorum_parallel отключен, можно включить последовательную согласованность для запросов SELECT с помощью select_sequential_consistency.

ClickHouse генерирует исключение:

  • Если число доступных реплик на момент выполнения запроса меньше insert_quorum.
  • Когда insert_quorum_parallel отключен и выполняется попытка записать данные, хотя предыдущий блок еще не был вставлен на insert_quorum реплик. Такая ситуация может возникнуть, если пользователь пытается выполнить еще один запрос INSERT в ту же таблицу до завершения предыдущего запроса с insert_quorum.

См. также:

insert_quorum_parallel

Тип
Bool
По умолчанию
1
История версий
ВерсияЗначение по умолчаниюКомментарий
21.11По умолчанию используются параллельные кворум inserts. Это значительно удобнее, чем последовательные кворум inserts

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

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

  • 0 — Отключено.
  • 1 — Включено.

См. также:

insert_quorum_timeout

Тип
Milliseconds
По умолчанию
600000

Тайм-аут записи с кворумом в миллисекундах. Если тайм-аут истёк, а запись ещё не выполнена, ClickHouse сгенерирует исключение, и клиент должен повторить запрос, чтобы записать тот же блок в ту же или любую другую реплику.

См. также:

Navigation