Ao usar o motor de tabela Memory no ClickHouse Cloud, os dados não são replicados em todos os nós (por design). Para garantir que todas as consultas sejam roteadas para o mesmo nó e que o motor de tabela Memory funcione como esperado, você pode fazer uma das seguintes coisas:
- Executar todas as operações na mesma sessão
- Usar um cliente que use TCP ou a interface nativa (o que habilita suporte a conexões com afinidade), como o clickhouse-client
GLOBAL IN (consulte a seção “Operadores IN”).
É possível especificar limites superior e inferior para limitar o tamanho da tabela do motor Memory, permitindo efetivamente que ela atue como um buffer circular (consulte Parâmetros do motor).
Parâmetros do motor
min_bytes_to_keep— Quantidade mínima de bytes a manter quando a tabela Memory estiver sujeita a limite de tamanho.- Valor padrão:
0 - Requer
max_bytes_to_keep
- Valor padrão:
max_bytes_to_keep— Quantidade máxima de bytes a manter na tabela Memory; as linhas mais antigas são excluídas a cada inserção (ou seja, buffer circular). O total máximo de bytes pode exceder o limite informado se o lote mais antigo de linhas a ser removido ficar abaixo do limite demin_bytes_to_keepao adicionar um bloco grande.- Valor padrão:
0
- Valor padrão:
min_rows_to_keep— Quantidade mínima de linhas a manter quando a tabela Memory estiver sujeita a limite de tamanho.- Valor padrão:
0 - Requer
max_rows_to_keep
- Valor padrão:
max_rows_to_keep— Quantidade máxima de linhas a manter na tabela Memory; as linhas mais antigas são excluídas a cada inserção (ou seja, buffer circular). O total máximo de linhas pode exceder o limite informado se o lote mais antigo de linhas a ser removido ficar abaixo do limite demin_rows_to_keepao adicionar um bloco grande.- Valor padrão:
0
- Valor padrão:
compress- Indica se os dados devem ser compactados na memória.- Valor padrão:
false
- Valor padrão:
Uso
bytes e rows podem ser definidos ao mesmo tempo; no entanto, serão respeitados os menores limites de max e min.