TinyLog para dados intermediários processados em pequenos lotes. Observe que armazenar dados em um grande número de tabelas pequenas é ineficiente.
As consultas são executadas em um fluxo único. Em outras palavras, este motor é indicado para tabelas relativamente pequenas (até cerca de 1.000.000 de linhas). Faz sentido usar este motor de tabela se você tiver muitas tabelas pequenas, pois ele é mais simples do que o motor Log (menos arquivos precisam ser abertos).
Características
- Estrutura mais simples: Ao contrário do motor Log, o TinyLog não usa arquivos de marcação. Isso reduz a complexidade, mas também limita as otimizações de desempenho para conjuntos de dados grandes.
- Consultas em fluxo único: As consultas em tabelas TinyLog são executadas em um fluxo único, o que o torna adequado para tabelas relativamente pequenas, normalmente com até 1.000.000 de linhas.
- Eficiente para tabelas pequenas: A simplicidade do motor TinyLog o torna vantajoso ao gerenciar muitas tabelas pequenas, pois exige menos operações de arquivo em comparação com o motor Log.
Criando uma tabela
Escrevendo os dados
TinyLog armazena todas as colunas em um único arquivo. Para cada consulta INSERT, o ClickHouse anexa o bloco de dados ao final de um arquivo de tabela, gravando as colunas uma a uma.
Para cada tabela, o ClickHouse grava os arquivos:
<column>.bin: um arquivo de dados para cada coluna, contendo os dados serializados e comprimidos.
TinyLog não oferece suporte às operações ALTER UPDATE e ALTER DELETE.
Exemplo de uso
INSERT para criar dois blocos de dados dentro dos arquivos <column>.bin.
O ClickHouse usa um único fluxo para selecionar os dados. Como resultado, a ordem dos blocos de linhas na saída corresponde à ordem desses mesmos blocos na entrada. Por exemplo: