min_absolute_delay_to_close
Atraso absoluto mínimo para encerrar, parar de atender requisições e não retornar Ok durante a verificação de status.min_columns_to_activate_adaptive_write_buffer
Permite reduzir o uso de memória em tabelas com muitas colunas ao usar buffers de gravação adaptativos. O valor é comparado ao número de streams que uma parte wide grava, que pode exceder significativamente o número de colunas: umMap com muitos buckets ou um Array ou Tuple profundamente aninhado grava muitos streams
para uma única coluna, e um buffer de gravação é alocado por stream.
Valores possíveis:
- 0 - desabilitado
- 1 - sempre habilitado
min_compress_block_size
Tamanho mínimo dos blocos de dados não comprimidos necessário para a compressão ao gravar a próxima mark. Você também pode especificar essa configuração nas configurações globais (consulte a configuração min_compress_block_size ). O valor especificado quando a tabela é criada substitui o valor global dessa configuração.min_index_granularity_bytes
Tamanho mínimo permitido dos grânulos de dados, em bytes. Serve como proteção contra a criação acidental de tabelas comindex_granularity_bytes muito baixo.
min_marks_to_honor_max_concurrent_queries
O número mínimo de marcas lidas pela consulta para que a configuração max_concurrent_queries seja aplicada.As consultas ainda serão limitadas por outras configurações de
max_concurrent_queries.- Inteiro positivo.
0— Desabilitado (o limite demax_concurrent_queriesnão se aplica a nenhuma consulta).
min_merge_bytes_to_use_direct_io
O volume mínimo de dados da operação de mesclagem necessário para usar acesso de E/S direta ao disco de armazenamento. Ao fazer a mesclagem de partes de dados, o ClickHouse calcula o volume total de armazenamento de todos os dados que serão mesclados. Se o volume excedermin_merge_bytes_to_use_direct_io bytes, o ClickHouse lê e grava os
dados no disco de armazenamento usando a interface de E/S direta (opção O_DIRECT).
Se min_merge_bytes_to_use_direct_io = 0, a E/S direta será desabilitada.
min_partition_age_to_force_merge_seconds
Faz o merge das partes de uma partição quando todas elas forem mais antigas que este valor, ou seja, quando a partição não recebe mais inserts. Diferentemente demin_age_to_force_merge_seconds com min_age_to_force_merge_on_partition_only,
a partição não precisa caber em um único merge: cada merge continua respeitando
max_bytes_to_merge_at_max_space_in_pool. Funciona com os selectors de mesclagem
Simple e StochasticSimple.
A idade comparada aqui é a da parte mais nova da partição
(now - modification_time, minimizada entre suas partes), de modo que a regra só
é armada depois que todas as partes ultrapassam esse valor de idade. Qualquer
parte nova a redefine: um insert, uma mutation e também cada merge que a própria
configuração atribui, já que a parte resultante do merge é nova. Portanto, o
forçamento é desarmado assim que um merge forçado é concluído e só é rearmado
depois que esse valor decorre novamente sem novas partes, de modo que uma partição
que precisa de vários merges é compactada em rodadas sucessivas espaçadas por esse
intervalo, e não em uma única passagem contínua.
O forçamento funciona exatamente como min_age_to_force_merge_seconds: ele
dispensa a exigência de proporção de tamanho que normalmente impede a atribuição
de um merge desbalanceado e também dispensa o piso
min_parts_to_merge_at_once, de modo que um merge forçado pode abranger menos
partes do que esse piso exige. Nenhuma outra heurística é desativada:
merge_selector_window_size continua limitando quais partes são examinadas, e
merge_selector_enable_heuristic_to_remove_small_parts_at_right continua
removendo uma parte pequena ao final de um intervalo selecionado de três partes ou
mais. Qualquer uma delas que precise ser desativada para um determinado workload
deve ser desativada explicitamente por meio de sua própria configuração.
Com os selectors de mesclagem Simple e StochasticSimple, esta configuração não pode ser
combinada com min_age_to_force_merge_seconds em conjunto com
min_age_to_force_merge_on_partition_only. Esse par faz o merge de uma partição
inteira de uma só vez, e somente um merge desse tipo é marcado como final — é
justamente isso que permite a um ReplacingMergeTree executar CLEANUP; forçar
merges regulares pela idade da partição o impediria. Use o par para partições que
cabem em um único merge e esta configuração para as que não cabem. Os demais
selectors ignoram esta configuração, portanto a combinação é aceita com eles.
Valores possíveis:
- Inteiro positivo.
min_parts_to_merge_at_once
Quantidade mínima de partes de dados que o selector de mesclagem pode selecionar para mesclar de uma só vez (configuração de nível avançado; não altere se você não entende o que ela faz). 0 - desabilitado. Funciona para os selectors de mesclagem Simple e StochasticSimple.min_replicated_logs_to_keep
Mantém aproximadamente esse número dos registros mais recentes no log do ZooKeeper, mesmo que estejam obsoletos. Isso não afeta o funcionamento das tabelas: é usado apenas para diagnosticar o log do ZooKeeper antes da limpeza. Valores possíveis:- Qualquer inteiro positivo.
min_unreserved_disk_space_for_merge
Mantém a quantidade especificada de espaço em disco não reservado (em bytes) fora do alcance das mesclagens em segundo plano, para que elas não deixem os inserts sem espaço. Essa quantidade é subtraída do espaço livre, e o limite do tamanho total das partes de origem de uma mesclagem é derivado do restante, com um fator de segurança adicional, de modo que a maior mesclagem permitida fique bem abaixo desse valor. O limite diminui à medida que o disco se enche e chega a zero quando o espaço livre cai para essa quantidade; a partir daí, nenhuma mesclagem em segundo plano é selecionada. (0 significa desabilitado) Ao contrário dekeep_free_space_bytes, o espaço protegido continua utilizável pelo próprio ClickHouse
— ele apenas fica fora do agendamento de mesclagens. As mutações não são limitadas por
ele e ainda podem consumir o espaço protegido, e a configuração não tem efeito em
discos com espaço ilimitado (como armazenamento de objetos).
Mesclagens iniciadas por OPTIMIZE com FINAL ou
com uma PARTITION explícita ignoram esta configuração. Mesclagens que descartam partes
totalmente expiradas são selecionadas sempre que o limite está acima de zero, independentemente do
tamanho, e nada é selecionado quando ele chega a zero. Toda mesclagem reserva pelo menos 1 MiB; portanto,
uma mesclagem iniciada com menos de 1 MiB disponível acima do espaço protegido pode ocupar
até 1 MiB dele. Uma réplica ReplicatedMergeTree também executa os DROPs enfileirados quando seu
próprio limite é zero, se um TTL de linha sem WHERE for o único TTL da tabela. Com um
TTL com GROUP BY, WHERE ou de coluna, esse DROP reescreve as linhas restantes:
o ReplicatedMergeTree o adia de acordo com o tamanho de suas partes, mas o MergeTree
não faz isso e pode gravá-las no espaço protegido.
Quando o limite é zero, um OPTIMIZE simples não atribui nada: ele não tem efeito ou
lança CANNOT_ASSIGN_OPTIMIZE com optimize_throw_if_noop = 1. Use FINAL
ou uma PARTITION explícita para mesclar no espaço protegido. No
ReplicatedMergeTree, essa isenção é registrada na entrada de log de replicação
somente quando a configuração é diferente de zero na réplica que a enfileira; portanto, um
OPTIMIZE enfileirado enquanto ela era 0 continua sendo executado sob a margem de reserva.
ALTER TABLE ... MODIFY SETTING não é replicado; portanto, atribua o mesmo valor a todas as
réplicas: uma réplica com uma margem de reserva maior a reaplica às mesclagens atribuídas
em outras réplicas e pode adiá-las indefinidamente. Mantenha o valor em 0 até que todas as
réplicas executem uma versão que reconheça a configuração — uma réplica mais antiga não consegue interpretar
as entradas de log gravadas para as mesclagens isentas e deixa de fazer pull de novas
entradas para a tabela, inclusive as de inserts comuns.