Aller au contenu principal
Version: 3.0.0-alpha (Diátaxis)

Concepts — ClickHouse

Architecture

ClickHouse sur Hikube est un service managé basé sur l'opérateur ClickHouse Operator. C'est une base de données SQL orientée colonnes, optimisée pour l'analyse de données (OLAP). L'architecture repose sur des shards (partitionnement horizontal) et des réplicas (haute disponibilité), coordonnés par ClickHouse Keeper.


Terminologie

TermeDescription
ClickHouseRessource Kubernetes (apps.cozystack.io/v1alpha1) représentant un cluster ClickHouse managé.
ShardPartition horizontale des données. Chaque shard contient un sous-ensemble des données totales.
ReplicaCopie d'un shard. Assure la redondance et permet la lecture parallèle.
ClickHouse KeeperService de coordination distribué (alternative à ZooKeeper) qui gère la réplication et le consensus entre les nœuds.
ResticOutil de sauvegarde pour créer des snapshots chiffrés vers un stockage S3.
OLAPOnline Analytical Processing — modèle d'accès aux données optimisé pour les requêtes analytiques (agrégations, scans de colonnes).
resourcesPresetProfil de ressources prédéfini (nano à 2xlarge).

Sharding et réplication

Sharding

Le sharding distribue les données horizontalement entre plusieurs nœuds :

  • Chaque shard contient une partie des données
  • Les requêtes SELECT sont exécutées en parallèle sur tous les shards
  • Le paramètre shards dans le manifeste détermine le nombre de partitions

Réplication

Chaque shard peut avoir plusieurs réplicas :

  • Les réplicas d'un même shard contiennent des données identiques
  • La coordination est assurée par ClickHouse Keeper
  • En cas de panne d'une réplica, les lectures sont redirigées vers les autres
astuce

Pour les petits volumes de données, un seul shard avec 2 réplicas suffit. Ajoutez des shards quand le volume dépasse les capacités d'un seul nœud.


ClickHouse Keeper

ClickHouse Keeper remplace ZooKeeper pour la coordination du cluster :

  • Gère le consensus entre les réplicas (protocole Raft)
  • Stocke les métadonnées du cluster (tables distribuées, réplication)
  • Nécessite un nombre impair d'instances (3 recommandé) pour le quorum
Paramètre KeeperDescription
keeper.replicasNombre d'instances Keeper (3 recommandé)
keeper.resources / keeper.resourcesPresetRessources allouées au Keeper
keeper.sizeTaille du stockage Keeper

Sauvegarde

ClickHouse sur Hikube utilise Restic pour les sauvegardes, avec le même modèle que MySQL :

  • Snapshots chiffrés stockés dans un bucket S3
  • Planification via cron (backup.schedule)
  • Stratégie de rétention configurable (backup.cleanupStrategy)

Gestion des utilisateurs

Les utilisateurs sont déclarés dans le manifeste avec :

  • Mot de passe pour l'authentification
  • Flag readonly : true pour un accès en lecture seule, false pour l'accès complet

Un utilisateur admin est créé automatiquement avec les droits complets.


Presets de ressources

PresetCPUMémoire
nano250m128Mi
micro500m256Mi
small1512Mi
medium11Gi
large22Gi
xlarge44Gi
2xlarge88Gi

Limites et quotas

ParamètreValeur
Shards maxSelon quota tenant
Réplicas par shardSelon quota tenant
Taille stockage (size)Variable (en Gi)
Keeper instances3 recommandé (impair)

Pour aller plus loin