Skip to main content
Par défaut, les requêtes CREATE, DROP, ALTER et RENAME n’affectent que le serveur courant sur lequel elles sont exécutées. Dans une configuration en cluster, il est possible d’exécuter ces requêtes de manière distribuée à l’aide de la clause ON CLUSTER. Par exemple, la requête suivante crée la table all_hits Distributed sur chaque hôte du cluster :
Pour exécuter correctement ces requêtes, chaque hôte doit avoir la même définition de cluster (pour simplifier la synchronisation de la configuration, vous pouvez utiliser des substitutions depuis ZooKeeper). Chaque hôte doit également se connecter aux serveurs ZooKeeper. En général, la version locale de la requête sera finalement exécutée sur chaque hôte du cluster, même si certains hôtes sont temporairement indisponibles. Toutefois, ces requêtes sont stockées dans une file d’attente, et la durée pendant laquelle un élément y reste est limitée par plusieurs paramètres. Par conséquent, si un hôte reste indisponible suffisamment longtemps, il se peut qu’il n’exécute pas la requête une fois redevenu disponible.
L’ordre d’exécution des requêtes sur un même hôte est garanti tant que distributed_ddl.pool_size est défini à 1.
Syntaxe
Associé : CREATE, DROP, ALTER, RENAME, SYSTEM