parallel_replicas_allow_in_with_subquery
Si la valeur est true, la sous-requête de IN sera exécutée sur chaque réplique suiveuse.parallel_replicas_allow_materialized_views
Autoriser l’utilisation des vues matérialisées avec les répliques parallèlesparallel_replicas_allow_merge_tables
Autorise la lecture d’une tableMerge avec des répliques parallèles. N’est effectif qu’avec parallel_replicas_plan_based : la lecture de la table Merge est développée en une union des lectures des tables MergeTree sous-jacentes, puis distribuée comme toute autre union. Une table Merge est affectée à une seule réplique si l’une de ses tables sous-jacentes ne peut pas être lue de cette manière (table autre que MergeTree, lecture avec FINAL). Définissez ce paramètre sur false pour lire chaque table Merge sur une seule réplique, comme avant l’ajout de cette prise en charge. Expérimental.
parallel_replicas_allow_view_over_mergetree
Permet aux répliques parallèles d’exécuter la requête externe d’une vue simple basée sur des tablesMergeTree (au lieu de la requête interne de la vue), ce qui améliore la parallélisation entre les nœuds. S’applique également aux vues UNION ALL dont les branches lisent toutes dans des tables MergeTree différentes.
parallel_replicas_connect_timeout_ms
Délai d’expiration, en millisecondes, pour établir une connexion à une réplique distante lors de l’exécution d’une requête avec des répliques parallèles. Si le délai expire, la réplique correspondante n’est pas utilisée pour l’exécution de la requêteparallel_replicas_count
Il s’agit d’un paramètre interne qui ne doit pas être utilisé directement et qui correspond à un détail d’implémentation du mode « répliques parallèles ». Pour les requêtes distribuées, ce paramètre est automatiquement défini par le serveur initiateur sur le nombre de répliques parallèles participant au traitement de la requête.parallel_replicas_custom_key
Une expression entière arbitraire qui peut être utilisée pour répartir le travail entre les répliques d’une table donnée. La valeur peut être n’importe quelle expression entière. Il est préférable d’utiliser des expressions simples basées sur les clés primaires. Si ce paramètre est utilisé sur un cluster composé d’un seul shard avec plusieurs répliques, ces répliques seront converties en shards virtuels. Sinon, il se comportera comme pour la cléSAMPLE et utilisera plusieurs répliques de chaque shard.
L’expression est vérifiée au regard des autorisations SELECT de l’utilisateur au niveau des colonnes. Pour une vue avec SQL SECURITY DEFINER ou NONE, elle est appliquée aux colonnes de la vue ; le corps de la vue est lu sans cette vérification.
parallel_replicas_custom_key_range_lower
Permet au filtre de typerange de répartir uniformément la charge entre les répliques à partir de la plage personnalisée [parallel_replicas_custom_key_range_lower, INT_MAX].
Utilisé conjointement avec parallel_replicas_custom_key_range_upper, il permet au filtre de répartir uniformément la charge entre les répliques sur la plage [parallel_replicas_custom_key_range_lower, parallel_replicas_custom_key_range_upper].
Remarque : ce paramètre n’entraîne aucun filtrage de données supplémentaire pendant le traitement des requêtes ; il modifie simplement les points auxquels le filtre de plage découpe la plage [0, INT_MAX] pour le traitement parallèle.
parallel_replicas_custom_key_range_upper
Permet au filtre de typerange de répartir uniformément le travail entre les répliques en fonction de la plage personnalisée [0, parallel_replicas_custom_key_range_upper]. Une valeur de 0 désactive la borne supérieure et la fixe à la valeur maximale de l’expression de clé personnalisée.
Lorsqu’il est utilisé conjointement avec parallel_replicas_custom_key_range_lower, ce paramètre permet au filtre de répartir uniformément le travail entre les répliques sur la plage [parallel_replicas_custom_key_range_lower, parallel_replicas_custom_key_range_upper].
Remarque : ce paramètre n’entraîne pas le filtrage de données supplémentaires pendant le traitement des requêtes ; il modifie plutôt les points auxquels le filtre de plage découpe la plage [0, INT_MAX] pour le traitement parallèle
parallel_replicas_filter_pushdown
Permet le pushdown des filtres sur la partie de la requête que les répliques parallèles choisissent d’exécuterparallel_replicas_for_cluster_engines
Remplacer les moteurs de fonction de table par leurs équivalents -Clusterparallel_replicas_for_non_replicated_merge_tree
Si la valeur est true, ClickHouse utilisera également l’algorithme des répliques parallèles pour les tables MergeTree non répliquéesparallel_replicas_index_analysis_only_on_coordinator
L’analyse d’index n’est effectuée que sur la réplique coordinatrice et est ignorée sur les autres répliques. Prend effet uniquement lorsque parallel_replicas_local_plan est activéparallel_replicas_insert_select_local_pipeline
Utiliser le pipeline local lors d’un INSERT SELECT distribué avec des répliques parallèlesparallel_replicas_local_plan
Construire un plan local pour la réplique localeparallel_replicas_mark_segment_size
Les parts de données sont divisées virtuellement en segments, qui sont répartis entre les répliques pour la lecture parallèle. Ce paramètre contrôle la taille de ces segments. Il est déconseillé de le modifier à moins d’être absolument sûr de ce que vous faites. La valeur doit être comprise dans la plage [128 ; 16384]parallel_replicas_min_number_of_rows_per_replica
Limite le nombre de répliques utilisées dans une requête à (nombre estimé de lignes à lire / min_number_of_rows_per_replica). Le maximum reste toutefois limité par ‘max_parallel_replicas’parallel_replicas_mode
Type de filtre à utiliser avec la clé personnalisée pour les répliques parallèles. default - utilise l’opération modulo sur la clé personnalisée, range - utilise un filtre de plage sur la clé personnalisée en utilisant toutes les valeurs possibles du type de valeur de la clé personnalisée.parallel_replicas_plan_based
Détermine s’il faut utiliser des répliques parallèles et à quels endroits en analysant le plan de requête, plutôt qu’en se basant sur l’arbre de requête. Par conséquent, un fragment de plan est envoyé aux répliques distantes au lieu d’une requête SQL. Expérimental.parallel_replicas_prefer_local_join
Si cette option est true, queJOIN peut être exécuté avec l’algorithme des répliques parallèles et que chaque table de la partie du JOIN qui serait sinon matérialisée dans une temporary table peut être lue par chaque réplique de manière autonome, un JOIN local est utilisé à la place de GLOBAL JOIN. Cette partie est la partie droite, sauf dans le cas d’un RIGHT JOIN, où il s’agit de la partie gauche et où chaque table doit être éligible aux répliques parallèles, et non simplement être de type *MergeTree. Une table située du côté matérialisé d’un GLOBAL JOIN imbriqué, ou sous un GLOBAL IN, n’est pas prise en compte, car l’initiateur les matérialise lui-même.
parallel_replicas_prefer_local_replica
Lorsqu’il est activé (par défaut), la réplique locale est toujours incluse dans l’ensemble des répliques utilisées pour la lecture parallèle. Lorsqu’il est désactivé, la réplique locale ne bénéficie d’aucune préférence et les répliques sont sélectionnées uniquement par l’algorithme de répartition de charge. Cela permet d’acheminer les requêtes avecmax_parallel_replicas = 1 vers un autre hôte, ce qui peut améliorer la localité du cache lorsque de nombreuses requêtes courtes sont réparties sur un cluster.