Com o layout flat, o dicionário é armazenado inteiramente na memória na forma de arrays flat.
A quantidade de memória usada é proporcional ao tamanho da maior chave (em espaço utilizado).
Esse tipo de layout oferece o melhor desempenho entre todos os métodos disponíveis para armazenar um dicionário.
A chave do dicionário tem o tipo UInt64, e o valor é limitado por max_array_size (por padrão — 500.000).
Se uma chave maior for encontrada ao criar o dicionário, o ClickHouse gera uma exceção e não cria o dicionário.
O tamanho inicial dos arrays flat do dicionário é controlado pela configuração initial_array_size (por padrão — 1024).
Todos os tipos de fontes são compatíveis.
Ao atualizar o dicionário, os dados (de um arquivo ou de uma tabela) são lidos por completo.
Exemplo de configuração:
DDL
Arquivo de configuração
LAYOUT(FLAT(INITIAL_ARRAY_SIZE 50000 MAX_ARRAY_SIZE 5000000))
<layout>
<flat>
<initial_array_size>50000</initial_array_size>
<max_array_size>5000000</max_array_size>
</flat>
</layout>