Estas configuraciones están disponibles en system.settings y se generan automáticamente a partir del código fuente.
distributed_aggregation_memory_efficient
Indica si está habilitado el modo de ahorro de memoria de la agregación distribuida.
distributed_connections_pool_size
El número máximo de conexiones simultáneas con servidores remotos para procesar de forma distribuida todas las consultas a una única tabla Distributed. Recomendamos establecer un valor no inferior al número de servidores del clúster.
distributed_foreground_insert
Aliases: insert_distributed_sync
Habilita o deshabilita la inserción síncrona de datos en una tabla Distributed.
De forma predeterminada, al insertar datos en una tabla Distributed, el servidor de ClickHouse envía los datos a los nodos del clúster en segundo plano. Cuando distributed_foreground_insert=1, los datos se procesan de forma síncrona y la operación INSERT solo se completa una vez que todos los datos se han guardado en todos los segmentos (al menos una réplica de cada segmento si internal_replication es true).
Valores posibles:
0— Los datos se insertan en segundo plano.1— Los datos se insertan en modo síncrono.
Valor predeterminado en Cloud: 1.
Véase también
distributed_group_by_no_merge
No combina los estados de agregación de distintos servidores en el procesamiento distribuido de consultas; puede usarlo cuando tenga la certeza de que hay claves diferentes en distintos segmentos
Valores posibles:
0— Deshabilitado (el procesamiento final de la consulta se realiza en el nodo iniciador).1- No combina los estados de agregación de distintos servidores en el procesamiento distribuido de consultas (la consulta se procesa por completo en el segmento; el iniciador solo actúa como proxy de los datos); puede usarse cuando tenga la certeza de que hay claves diferentes en distintos segmentos.2- Igual que1, pero aplicaORDER BYyLIMITen el iniciador (esto no es posible cuando la consulta se procesa por completo en el nodo remoto, como endistributed_group_by_no_merge=1); puede usarse para consultas conORDER BYy/oLIMIT.
Ejemplo
SELECT *
FROM remote('127.0.0.{2,3}', system.one)
GROUP BY dummy
LIMIT 1
SETTINGS distributed_group_by_no_merge = 1
FORMAT PrettyCompactMonoBlock
┌SELECT *
FROM remote('127.0.0.{2,3}', system.one)
GROUP BY dummy
LIMIT 1
SETTINGS distributed_group_by_no_merge = 2
FORMAT PrettyCompactMonoBlock
┌distributed_insert_skip_read_only_replicas
Historial de versiones
| Versión | Valor predeterminado | Comentario |
|---|---|---|
| 24.3 | 0 | Si es true, un INSERT en Distributed omitirá las réplicas de solo lectura |
Permite omitir las réplicas de solo lectura en las consultas INSERT a Distributed.
Valores posibles:
- 0 — INSERT se realizará como de costumbre; si va a una réplica de solo lectura, fallará
- 1 — El iniciador omitirá las réplicas de solo lectura antes de enviar datos a los segmentos.
distributed_product_mode
Cambia el comportamiento de las subconsultas distribuidas.
ClickHouse aplica esta configuración cuando la consulta contiene el producto de tablas distribuidas; es decir, cuando la consulta sobre una tabla distribuida contiene una subconsulta no GLOBAL para la tabla distribuida.
Restricciones:
- Solo se aplica a subconsultas IN y JOIN.
- Solo si la sección FROM usa una tabla distribuida que contiene más de un segmento.
- Solo si la subconsulta hace referencia a una tabla distribuida que contiene más de un segmento.
- No se usa para una función de tabla remote.
Posibles valores:
deny— Valor predeterminado. Prohíbe usar estos tipos de subconsultas (devuelve la excepción "Double-distributed in/JOIN subqueries is denied").local— Reemplaza la base de datos y la tabla en la subconsulta por las locales del servidor de destino (segmento), dejandoIN/JOINnormal.global— Reemplaza la consultaIN/JOINporGLOBAL IN/GLOBAL JOIN.allow— Permite el uso de estos tipos de subconsultas.
distributed_push_down_limit
Habilita o deshabilita que LIMIT se aplique por separado en cada segmento.
Esto permite evitar:
- Enviar filas adicionales a través de la red;
- Procesar filas que exceden el límite en el iniciador.
A partir de la versión 21.9, ya no es posible obtener resultados inexactos, ya que distributed_push_down_limit cambia la ejecución de la consulta solo si se cumple al menos una de las condiciones siguientes:
- distributed_group_by_no_merge > 0.
- La consulta no tiene
GROUP BY/DISTINCT/LIMIT BY, pero síORDER BY/LIMIT. - La consulta tiene
GROUP BY/DISTINCT/LIMIT BYconORDER BY/LIMIT, y:- optimize_skip_unused_shards está habilitado.
- optimize_distributed_group_by_sharding_key está habilitado.
Posibles valores:
- 0 — Deshabilitado.
- 1 — Habilitado.
Vea también: