Pular para o conteúdo principal

Família de motores de tabela Log

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: Os motores de tabela da família Log podem armazenar dados em sistemas de arquivos distribuídos HDFS ou S3.
Este motor não é para dados de log.Apesar do nome, os *motores de tabela Log não se destinam ao armazenamento de dados de log. Eles devem ser usados apenas para pequenos volumes que precisem ser gravados rapidamente.

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.
Última modificação em 25 de junho de 2026