Passer au contenu principal

hashed

Le dictionnaire est entièrement stocké en mémoire sous la forme d’une table de hachage. Le dictionnaire peut contenir un nombre quelconque d’éléments avec n’importe quels identifiants. En pratique, le nombre de clés peut atteindre plusieurs dizaines de millions. La clé du dictionnaire est de type UInt64. Tous les types de sources sont pris en charge. Lors des mises à jour, les données (provenant d’un fichier ou d’une table) sont lues dans leur intégralité. Exemple de configuration :
LAYOUT(HASHED())

Exemple de configuration avec paramètres :
LAYOUT(HASHED([SHARDS 1] [SHARD_LOAD_QUEUE_BACKLOG 10000] [MAX_LOAD_FACTOR 0.5]))

sparse_hashed

Semblable à hashed, mais utilise moins de mémoire au prix d’une utilisation CPU plus élevée. La clé du dictionnaire est de type UInt64. Exemple de configuration :
LAYOUT(SPARSE_HASHED([SHARDS 1] [SHARD_LOAD_QUEUE_BACKLOG 10000] [MAX_LOAD_FACTOR 0.5]))

Il est également possible d’utiliser shards pour ce type de dictionnaire, et cela est encore plus important pour sparse_hashed que pour hashed, car sparse_hashed est plus lent.

complex_key_hashed

Ce type de stockage s’utilise avec des clés composites. Similaire à hashed. Exemple de configuration :
LAYOUT(COMPLEX_KEY_HASHED([SHARDS 1] [SHARD_LOAD_QUEUE_BACKLOG 10000] [MAX_LOAD_FACTOR 0.5]))

complex_key_sparse_hashed

Ce type de stockage s’utilise avec des clés composites. Similaire à sparse_hashed. Exemple de configuration :
LAYOUT(COMPLEX_KEY_SPARSE_HASHED([SHARDS 1] [SHARD_LOAD_QUEUE_BACKLOG 10000] [MAX_LOAD_FACTOR 0.5]))

Dernière modification le 25 juin 2026