distributed_background_insert_batch
distributed_directory_monitor_batch_inserts
Habilita/deshabilita el envío por lotes de los datos insertados.
Cuando el envío por lotes está habilitado, el motor de tabla Distributed intenta enviar varios archivos de datos insertados en una sola operación, en lugar de enviarlos por separado. El envío por lotes mejora el rendimiento del clúster al aprovechar mejor los recursos del servidor y de la red.
Valores posibles:
- 1 — Habilitado.
- 0 — Deshabilitado.
distributed_background_insert_max_sleep_time_ms
distributed_directory_monitor_max_sleep_time_ms
Intervalo máximo para que el motor de tabla Distributed envíe datos. Limita el crecimiento exponencial del intervalo establecido en el ajuste distributed_background_insert_sleep_time_ms.
Valores posibles:
- Un número entero positivo de milisegundos.
distributed_background_insert_sleep_time_ms
distributed_directory_monitor_sleep_time_ms
Intervalo base que utiliza el motor de tabla Distributed para enviar datos. El intervalo real aumenta exponencialmente en caso de errores.
Valores posibles:
- Un número entero positivo de milisegundos.
distributed_background_insert_split_batch_on_failure
distributed_directory_monitor_split_batch_on_failure
Habilita o deshabilita la división de lotes cuando se producen fallos.
A veces, el envío de un lote concreto al segmento remoto puede fallar debido a algún pipeline posterior complejo (por ejemplo, MATERIALIZED VIEW con GROUP BY) por errores como Memory limit exceeded u otros similares. En este caso, reintentar no servirá de ayuda (y esto bloqueará los envíos distribuidos de la tabla), pero enviar los archivos de ese lote uno por uno puede permitir que el INSERT se complete correctamente.
Por tanto, establecer esta configuración en 1 deshabilitará el procesamiento por lotes para esos lotes (es decir, deshabilitará temporalmente distributed_background_insert_batch para los lotes fallidos).
Valores posibles:
- 1 — Habilitado.
- 0 — Deshabilitado.
Esta configuración también afecta a los lotes dañados (que pueden aparecer debido a una terminación anómala del servidor [máquina] y a la ausencia de
fsync_after_insert/fsync_directories para el motor de tabla Distributed).No debería depender de la división automática de lotes, ya que puede perjudicar al rendimiento.
distributed_background_insert_timeout
insert_distributed_timeout
Tiempo de espera de la consulta de inserción en Distributed. Esta configuración solo se usa cuando insert_distributed_sync está habilitado. Un valor de cero significa que no hay tiempo de espera.