distributed_background_insert_batch
distributed_directory_monitor_batch_inserts
Ativa/desativa o envio, em lotes, de dados inseridos.
Quando o envio em lotes está ativado, o motor de tabela Distributed tenta enviar vários arquivos com dados inseridos em uma única operação, em vez de enviá-los separadamente. O envio em lotes melhora o desempenho do cluster ao aproveitar melhor os recursos do servidor e da rede.
Valores possíveis:
- 1 — Ativado.
- 0 — Desativado.
distributed_background_insert_max_sleep_time_ms
distributed_directory_monitor_max_sleep_time_ms
Intervalo máximo para que o motor de tabela Distributed envie dados. Limita o crescimento exponencial do intervalo definido na configuração distributed_background_insert_sleep_time_ms.
Valores possíveis:
- Um número inteiro positivo de milissegundos.
distributed_background_insert_sleep_time_ms
distributed_directory_monitor_sleep_time_ms
Intervalo base para o motor de tabela Distributed enviar dados. O intervalo efetivo aumenta exponencialmente em caso de erros.
Valores possíveis:
- Um número inteiro positivo, em milissegundos.
distributed_background_insert_split_batch_on_failure
distributed_directory_monitor_split_batch_on_failure
Habilita/desabilita a divisão de lotes em caso de falha.
Às vezes, o envio de um lote específico para o shard remoto pode falhar por causa de algum pipeline complexo posterior (isto é, MATERIALIZED VIEW com GROUP BY), devido a Memory limit exceeded ou erros semelhantes. Nesse caso, tentar novamente não ajudará (e isso deixará travados os envios distribuídos da tabela), mas enviar os arquivos desse lote um a um pode fazer com que o INSERT seja bem-sucedido.
Portanto, definir esta configuração como 1 desabilita o batching para esses lotes (isto é, desabilita temporariamente distributed_background_insert_batch para lotes com falha).
Valores possíveis:
- 1 — Habilitado.
- 0 — Desabilitado.
Esta configuração também afeta lotes corrompidos (que podem aparecer devido ao encerramento anormal do servidor (máquina) e à ausência de
fsync_after_insert/fsync_directories para o motor de tabela Distributed).Você não deve confiar na divisão automática de lotes, pois isso pode prejudicar o desempenho.
distributed_background_insert_timeout
insert_distributed_timeout
Tempo limite para a consulta de insert no Distributed. Essa configuração é usada somente com insert_distributed_sync habilitado. O valor zero significa que não há tempo limite.