Estas configuraciones están disponibles en system.settings y se generan automáticamente a partir del código fuente.
insert_quorum
Habilita las escrituras por quórum.
- Si
insert_quorum < 2, las escrituras por quórum se deshabilitan. - Si
insert_quorum >= 2, las escrituras por quórum se habilitan. - Si
insert_quorum = 'auto', usa la mayoría (number_of_replicas / 2 + 1) como valor de quórum.
Escrituras por quórum
INSERT solo se completa correctamente cuando ClickHouse logra escribir los datos en insert_quorum réplicas dentro de insert_quorum_timeout. Si, por cualquier motivo, el número de réplicas con escrituras satisfactorias no alcanza insert_quorum, la escritura se considera fallida y ClickHouse eliminará el bloque insertado de todas las réplicas en las que los datos ya se hayan escrito.
Cuando insert_quorum_parallel está deshabilitado, todas las réplicas del quórum son consistentes; es decir, contienen datos de todas las consultas INSERT anteriores (la secuencia de INSERT está linealizada). Al leer datos escritos con insert_quorum y con insert_quorum_parallel deshabilitado, puede activar la consistencia secuencial para las consultas SELECT mediante select_sequential_consistency.
ClickHouse genera una excepción:
- Si el número de réplicas disponibles en el momento de la consulta es menor que
insert_quorum. - Cuando
insert_quorum_parallelestá deshabilitado y se intenta escribir datos mientras el bloque anterior aún no se ha insertado eninsert_quorumréplicas. Esta situación puede ocurrir si el usuario intenta ejecutar otra consultaINSERTen la misma tabla antes de que se complete la anterior coninsert_quorum.
Véase también:
insert_quorum_parallel
Historial de versiones
| Versión | Valor predeterminado | Comentario |
|---|---|---|
| 21.1 | 1 | Usar inserciones con cuórum en paralelo de forma predeterminada. Es mucho más práctico que usar inserciones con cuórum secuenciales |
Habilita o deshabilita el paralelismo para las consultas INSERT con cuórum. Si está habilitado, se pueden enviar consultas INSERT adicionales mientras las anteriores aún no hayan terminado. Si está deshabilitado, se rechazarán las operaciones de escritura adicionales en la misma tabla.
Valores posibles:
- 0 — Deshabilitado.
- 1 — Habilitado.
Véase también:
insert_quorum_timeout
Tiempo de espera de escritura en un quórum, en milisegundos. Si el tiempo de espera ha expirado y aún no se ha realizado ninguna escritura, ClickHouse generará una excepción y el client deberá repetir la consulta para escribir el mismo bloque en la misma réplica o en cualquier otra réplica.
Véase también: