Ces paramètres sont disponibles dans system.settings et sont générés automatiquement à partir du code source.
Nombre maximal d’analyses effectuées par l’interpréteur.
Limite du nombre de séries créées par la fonction generateSerialID.
Chaque série représentant un nœud dans Keeper, il est recommandé de ne pas en avoir plus de quelques millions.
Le débit de lecture maximal, en octets par seconde, pour une sauvegarde donnée sur le serveur. Zéro signifie illimité.
Dans ClickHouse, les données sont traitées par blocs, qui sont des ensembles de fragments de colonnes. Les cycles internes de traitement d’un bloc unique sont efficaces, mais le traitement de chaque bloc entraîne des surcoûts notables.
Le paramètre max_block_size indique le nombre maximal recommandé de lignes à inclure dans un seul bloc lors du chargement des données depuis les tables. Des blocs de la taille de max_block_size ne sont pas toujours chargés depuis la table : si ClickHouse détermine qu’il y a moins de données à récupérer, un bloc plus petit est traité.
La taille des blocs ne doit pas être trop petite, afin d’éviter des surcoûts notables lors du traitement de chaque bloc. Elle ne doit pas non plus être trop grande, afin de garantir que les requêtes avec une clause LIMIT s’exécutent rapidement après le traitement du premier bloc. Lors du réglage de max_block_size, l’objectif est d’éviter une consommation excessive de mémoire lors de l’extraction d’un grand nombre de colonnes dans plusieurs threads, tout en préservant au moins une certaine localité de cache.
Le nombre maximal de colonnes pouvant être lues depuis une table dans une seule requête.
Si une requête nécessite la lecture d’un nombre de colonnes supérieur à celui spécifié, une exception
est levée.
Ce paramètre est utile pour éviter les requêtes trop complexes.
La valeur 0 signifie qu’il n’y a pas de limite.
La taille maximale des blocs de données non compressées avant leur compression pour l’écriture dans une table. Par défaut, 1 048 576 (1 MiB). Indiquer une taille de bloc plus petite entraîne généralement une légère baisse du taux de compression ; en revanche, la vitesse de compression et de décompression augmente légèrement grâce à une meilleure localité du cache, et la consommation de mémoire diminue.
Il s’agit d’un réglage réservé aux experts, et vous ne devriez pas le modifier si vous débutez avec ClickHouse.
Ne confondez pas les blocs utilisés pour la compression (un segment de mémoire constitué d’octets) avec les blocs utilisés pour le traitement des requêtes (un ensemble de lignes d’une table).
Nombre maximal d’instantanés Paimon consommés par lecture incrémentielle. 0 signifie qu’il n’y a pas de limite.
max_estimated_execution_time
Temps d’exécution estimé maximal de la requête, en secondes. Vérifié pour chaque bloc de données
à l’expiration de timeout_before_checking_execution_speed.
max_expanded_ast_elements
Taille maximale de l’arbre de syntaxe d’une requête, en nombre de nœuds, après développement des alias et de l’astérisque.
max_fetch_partition_retries_count
Nombre de tentatives lors de la récupération d’une partition depuis un autre hôte.
Définit le nombre maximal de threads parallèles pour la phase de lecture des données de la requête SELECT avec le modificateur FINAL.
Valeurs possibles :
- Entier positif.
- 0 ou 1 — Désactivé. Les requêtes
SELECT sont exécutées sur un seul thread.
Nombre maximal de sauts de redirection HTTP GET autorisés. Garantit la mise en place de mesures de sécurité supplémentaires afin d’empêcher un serveur malveillant de rediriger vos requêtes vers des services inattendus.\n\nC’est le cas lorsqu’un serveur externe redirige vers une autre adresse, mais que cette adresse semble appartenir à l’infrastructure interne de l’entreprise. En envoyant alors une requête HTTP à un serveur interne, vous pourriez appeler une API interne depuis le réseau interne, contourner l’authentification, voire interroger d’autres services, tels que Redis ou Memcached. Si vous ne disposez pas d’infrastructure interne (y compris un service exécuté sur votre localhost), ou si vous faites confiance au serveur, vous pouvez autoriser les redirections sans risque. Gardez toutefois à l’esprit que si l’URL utilise HTTP au lieu de HTTPS, vous devrez faire confiance non seulement au serveur distant, mais aussi à votre FAI et à tous les réseaux intermédiaires.
Valeur par défaut dans Cloud : 10.
max_limit_for_vector_search_queries
Les requêtes SELECT avec un LIMIT supérieur à ce paramètre ne peuvent pas utiliser les indices de similarité vectorielle. Cela permet d’éviter les débordements de mémoire dans les indices de similarité vectorielle.
max_number_of_partitions_for_independent_aggregation
Nombre maximal de partitions de la table pour appliquer l’optimisatio
max_os_cpu_wait_time_ratio_to_throw
Ratio maximal entre le temps d’attente CPU de l’OS (métrique OSCPUWaitMicroseconds) et le temps d’activité (métrique OSCPUVirtualTimeMicroseconds) à partir duquel le rejet de requêtes est envisagé. Une interpolation linéaire entre les ratios minimal et maximal est utilisée pour calculer la probabilité ; à ce niveau, cette probabilité est de 1.
Le nombre maximal de répliques pour chaque shard lors de l’exécution d’une requête.
Valeurs possibles :
Informations supplémentaires
Cette option peut produire des résultats différents selon les paramètres utilisés.
Traitement en parallèle à l’aide de la clé SAMPLE
Une requête peut être traitée plus rapidement si elle est exécutée sur plusieurs serveurs en parallèle. Mais les performances des requêtes peuvent se dégrader dans les cas suivants :
- La position de la clé d’échantillonnage dans la clé de partitionnement ne permet pas d’effectuer efficacement des parcours sur plage.
- L’ajout d’une clé d’échantillonnage à la table rend moins efficace le filtrage sur d’autres colonnes.
- La clé d’échantillonnage est une expression coûteuse à calculer.
- La distribution des latences du cluster présente une longue traîne, de sorte qu’interroger davantage de serveurs augmente la latence globale de la requête.
Ce paramètre est utile pour toute table répliquée.
Le nombre maximal de threads utilisés pour analyser les données dans les formats d’entrée qui prennent en charge l’analyse en parallèle. Par défaut, cette valeur est déterminée automatiquement.
max_partition_size_to_drop
Restriction sur la suppression de partitions au moment de l’exécution de la requête. La valeur 0 signifie que vous pouvez supprimer des partitions sans restriction.
Valeur par défaut dans Cloud : 1 TB.
Limite le nombre de parts pouvant être déplacées par requête. Zéro signifie qu’il n’y a pas de limite.
max_projection_rows_to_use_projection_index
Si le nombre de lignes à lire dans l’index de projection est inférieur ou égal à ce seuil, ClickHouse tentera d’utiliser l’index de projection lors de l’exécution de la requête.
Le nombre maximal d’octets d’une chaîne de requête analysée par le parseur SQL.
Les données de la clause VALUES des requêtes INSERT sont traitées par un parseur de flux distinct (qui consomme O(1) de RAM) et ne sont pas affectées par cette restriction.
max_query_size ne peut pas être défini dans une requête SQL (par exemple, SELECT now() SETTINGS max_query_size=10000) car ClickHouse doit allouer un tampon pour analyser la requête, et la taille de ce tampon est déterminée par le paramètre max_query_size, qui doit être configuré avant l’exécution de la requête.
max_recursive_cte_evaluation_depth
Profondeur maximale d’évaluation des CTE récursives
max_replica_delay_for_distributed_queries
Désactive les répliques en retard pour les requêtes distribuées. Voir Replication.
Définit le délai en secondes. Si le retard d’une réplique est supérieur ou égal à la valeur définie, cette réplique n’est pas utilisée.
Valeurs possibles :
- Entier positif.
- 0 — Le retard des répliques n’est pas vérifié.
Pour empêcher l’utilisation de toute réplique présentant un retard non nul, définissez ce paramètre sur 1.
Utilisé lors de l’exécution de SELECT sur une table distribuée pointant vers des tables répliquées.
max_reverse_dictionary_lookup_cache_size_bytes
Taille maximale en octets du cache de recherche inversée du dictionnaire par requête utilisé par la fonction dictGetKeys. Le cache stocke des tuples de clés sérialisés par valeur d’attribut afin d’éviter de parcourir à nouveau le dictionnaire dans la même requête. Lorsque la limite est atteinte, les entrées sont évincées selon la politique LRU. Définissez cette valeur sur 0 pour désactiver la mise en cache.
Nombre maximal de sessions simultanées pour chaque utilisateur authentifié sur le serveur ClickHouse.
Exemple :
Valeurs possibles :
- Entier positif
0 - nombre illimité de sessions simultanées (par défaut)
Si une requête contient plus de sous-requêtes imbriquées que le nombre spécifié, une
exception est levée.
Cela permet d’effectuer une vérification de cohérence afin d’empêcher les utilisateurs de votre
cluster d’écrire des requêtes excessivement complexes.
Restriction sur la suppression des tables au moment de l’exécution de la requête. La valeur 0 signifie que vous pouvez supprimer toutes les tables sans aucune restriction.
Valeur par défaut dans Cloud : 1 TB.
Les petites allocations et désallocations sont regroupées dans une variable locale de thread et ne sont suivies ou profilées que lorsque leur montant (en valeur absolue) dépasse la valeur spécifiée. Si cette valeur est supérieure à ‘memory_profiler_step’, elle sera en pratique ramenée à ‘memory_profiler_step’.
max_wkb_geometry_elements
Nombre maximal de points, d’anneaux ou de polygones autorisés dans un même élément de géométrie WKB lors de l’analyse par readWKB et les fonctions associées. Cela protège contre les allocations mémoire excessives dues à des données WKB malformées. Définissez cette valeur sur 0 pour utiliser la limite codée en dur (100 millions).