Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Família de motores Log

Sem suporte no ClickHouse Cloud

Esses motores foram desenvolvidos para cenários em que você precisa gravar rapidamente muitas tabelas pequenas (com até cerca de 1 milhão de linhas) e lê-las depois por completo.

Motores da família:

Motores da família Log
StripeLog
Log
TinyLog

Os motores de tabela da família Log podem armazenar dados em sistemas de arquivos distribuídos HDFS ou S3.

Propriedades comuns

Motores:

  • Armazenam dados em disco.

  • Acrescentam dados ao final do arquivo ao gravar.

  • Oferecem suporte a bloqueios para acesso concorrente aos dados.

    Durante consultas INSERT, a tabela é bloqueada, e outras consultas de leitura e gravação de dados aguardam até que a tabela seja desbloqueada. Se não houver consultas de gravação de dados, qualquer número de consultas de leitura de dados poderá ser executado concorrentemente.

  • Não oferecem suporte a mutações.

  • Não oferecem suporte a índices.

    Isso significa que consultas SELECT para intervalos de dados não são eficientes.

  • Não gravam dados de forma atômica.

    Você pode acabar com uma tabela com dados corrompidos se algo interromper a operação de gravação, por exemplo, um desligamento anormal do servidor.

Diferenças

O motor TinyLog é o mais simples da família e oferece os recursos mais limitados e a menor eficiência. O motor TinyLog não oferece suporte à leitura paralela de dados por várias threads em uma única consulta. Ele lê os dados mais lentamente do que outros motores da família que oferecem suporte à leitura paralela em uma única consulta e usa quase tantos descritores de arquivo quanto o motor Log, porque armazena cada coluna em um arquivo separado. Use-o apenas em cenários simples.

Os motores Log e StripeLog oferecem suporte à leitura paralela de dados. Ao ler os dados, o ClickHouse usa várias threads. Cada thread processa um bloco de dados separado. O motor Log usa um arquivo separado para cada coluna da tabela. O StripeLog armazena todos os dados em um único arquivo. Como resultado, o motor StripeLog usa menos descritores de arquivo, mas o motor Log oferece maior eficiência na leitura de dados.

Navigation