Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

tipos de layout hashed para dicionários

hashed

O dicionário é armazenado inteiramente na memória na forma de uma tabela hash. O dicionário pode conter qualquer quantidade de elementos com quaisquer identificadores. Na prática, o número de chaves pode chegar a dezenas de milhões de itens.

A chave do dicionário é do tipo UInt64.

Todos os tipos de fontes são compatíveis. Ao atualizar, os dados (de um arquivo ou de uma tabela) são lidos por inteiro.

Exemplo de configuração:

LAYOUT(HASHED())

Exemplo de configuração com parâmetros:

LAYOUT(HASHED([SHARDS 1] [SHARD_LOAD_QUEUE_BACKLOG 10000] [MAX_LOAD_FACTOR 0.5]))

sparse_hashed

Semelhante a hashed, mas usa menos memória em troca de maior uso de CPU.

A chave do dicionário é do tipo UInt64.

Exemplo de configuração:

LAYOUT(SPARSE_HASHED([SHARDS 1] [SHARD_LOAD_QUEUE_BACKLOG 10000] [MAX_LOAD_FACTOR 0.5]))

Também é possível usar shards com esse tipo de dicionário e, novamente, isso é mais importante para sparse_hashed do que para hashed, já que sparse_hashed é mais lento.

complex_key_hashed

Esse tipo de armazenamento é usado com chaves compostas. Semelhante a hashed.

Exemplo de configuração:

LAYOUT(COMPLEX_KEY_HASHED([SHARDS 1] [SHARD_LOAD_QUEUE_BACKLOG 10000] [MAX_LOAD_FACTOR 0.5]))

complex_key_sparse_hashed

Este tipo de armazenamento é usado com chaves compostas. É semelhante a sparse_hashed.

Exemplo de configuração:

LAYOUT(COMPLEX_KEY_SPARSE_HASHED([SHARDS 1] [SHARD_LOAD_QUEUE_BACKLOG 10000] [MAX_LOAD_FACTOR 0.5]))

Navigation