distributed_aggregation_memory_efficient
distributed_connections_pool_size
distributed_foreground_insert
insert_distributed_sync
Active ou désactive l’insertion synchrone de données dans une table Distributed.
Par défaut, lors de l’insertion de données dans une table Distributed, le serveur ClickHouse envoie les données aux nœuds du cluster en arrière-plan. Lorsque distributed_foreground_insert=1, les données sont traitées de manière synchrone, et l’opération INSERT n’est considérée comme réussie qu’une fois toutes les données enregistrées sur tous les shards (au moins une réplique pour chaque shard si internal_replication vaut true).
Valeurs possibles :
0— Les données sont insérées en arrière-plan.1— Les données sont insérées en mode synchrone.
1.
Voir aussi
distributed_group_by_no_merge
0— Désactivé (le traitement final de la requête est effectué sur le nœud initiateur).1- Ne fusionne pas les états d’agrégation provenant de différents serveurs lors du traitement distribué des requêtes (la requête est entièrement traitée sur le shard, l’initiateur ne fait que relayer les données) ; peut être utilisé lorsqu’il est certain que les clés diffèrent d’un shard à l’autre.2- Identique à1, mais appliqueORDER BYetLIMITsur l’initiateur (ce qui n’est pas possible lorsque la requête est entièrement traitée sur le nœud distant, comme avecdistributed_group_by_no_merge=1) ; peut être utilisé pour les requêtes avecORDER BYet/ouLIMIT.
distributed_insert_skip_read_only_replicas
- 0 — INSERT se comporte comme d’habitude ; s’il est envoyé à une réplique en lecture seule, il échouera
- 1 — L’initiateur ignorera les répliques en lecture seule avant d’envoyer les données aux shards.
distributed_product_mode
- S’applique uniquement aux sous-requêtes IN et JOIN.
- Uniquement si la section FROM utilise une table distribuée contenant plus d’un shard.
- Uniquement si la sous-requête porte sur une table distribuée contenant plus d’un shard.
- N’est pas utilisé pour la fonction de table remote.
deny— Valeur par défaut. Interdit l’utilisation de ces types de sous-requêtes (renvoie l’exception “Double-distributed in/JOIN subqueries is denied”).local— Remplace la base de données et la table dans la sous-requête par leurs équivalents locaux pour le serveur de destination (shard), en conservant l’opérateurIN/JOINordinaire.global— Remplace la requêteIN/JOINparGLOBAL IN/GLOBAL JOIN.allow— Autorise l’utilisation de ces types de sous-requêtes.
distributed_push_down_limit
- l’envoi de lignes superflues sur le réseau ;
- le traitement, sur l’initiateur, de lignes au-delà de la limite.
distributed_push_down_limit ne modifie l’exécution de la requête que si au moins l’une des conditions suivantes est remplie :
- distributed_group_by_no_merge > 0.
- La requête ne contient pas
GROUP BY/DISTINCT/LIMIT BY, mais contientORDER BY/LIMIT. - La requête contient
GROUP BY/DISTINCT/LIMIT BYavecORDER BY/LIMITet :- optimize_skip_unused_shards est activé.
- optimize_distributed_group_by_sharding_key est activé.
- 0 — Désactivé.
- 1 — Activé.