Эти настройки доступны в system.settings и автоматически генерируются из исходного кода.
insert_quorum
Включает запись с кворумом.
- Если
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
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 21.1 | 1 | По умолчанию используются параллельные кворум inserts. Это значительно удобнее, чем последовательные кворум inserts |
Включает или отключает параллелизм для кворум-запросов INSERT. Если параметр включен, можно отправлять дополнительные запросы INSERT, пока предыдущие еще не завершились. Если параметр отключен, дополнительные записи в ту же таблицу будут отклонены.
Возможные значения:
- 0 — Отключено.
- 1 — Включено.
См. также:
insert_quorum_timeout
Тайм-аут записи с кворумом в миллисекундах. Если тайм-аут истёк, а запись ещё не выполнена, ClickHouse сгенерирует исключение, и клиент должен повторить запрос, чтобы записать тот же блок в ту же или любую другую реплику.
См. также: