Skip to main content

Question

ClickHouse Keeper fournit le système de coordination pour la réplication des données et l’exécution des requêtes DDL distribuées. ClickHouse Keeper est compatible avec ZooKeeper, mais il n’est pas forcément évident de savoir pourquoi l’utiliser plutôt que ZooKeeper. Cet article présente certains des avantages de Keeper.

Réponse

ClickHouse Cloud utilise clickhouse-keeper à grande échelle pour des milliers de services dans un environnement multitenant. Nous avons conçu et développé Keeper afin de nous affranchir de notre dépendance à l’implémentation ZooKeeper basée sur Java. ClickHouse Keeper corrige bon nombre des limitations bien connues de ZooKeeper et apporte d’autres améliorations, notamment :
  • Les snapshots et les logs consomment beaucoup moins d’espace disque grâce à une meilleure compression
  • Aucune limite sur la taille par défaut des paquets et des données de nœud (elle est de 1 Mo dans ZooKeeper)
  • Aucun problème de dépassement de zxid (dans ZooKeeper, cela impose un redémarrage toutes les 2 milliards de transactions)
  • Une reprise plus rapide après des partitions réseau grâce à l’utilisation d’un meilleur protocole de consensus distribué
  • Il utilise moins de mémoire pour le même volume de données
  • Il est plus simple à configurer et ne nécessite ni de définir la taille de mémoire de la JVM ni d’utiliser une implémentation personnalisée du garbage collector
  • Quelques commandes personnalisées dans le protocole permettent d’accélérer les opérations sur les tables ReplicatedMergeTree
  • Une couverture de tests Jepsen plus étendue
En outre, ClickHouse Support a constaté une baisse massive des problèmes de cluster dans les environnements qui utilisent clickhouse-keeper plutôt que ZooKeeper. Consultez la page de documentation de Keeper pour plus de détails sur la configuration et l’exécution de ClickHouse Keeper.
Dernière modification le 3 juillet 2026