Zum Hauptinhalt springen
Version: 3.0.0-alpha (Diátaxis)

Konzepte — ClickHouse

Architektur

ClickHouse auf Hikube ist ein verwalteter Dienst basierend auf dem ClickHouse Operator. Es handelt sich um eine spaltenorientierte SQL-Datenbank, die für die Datenanalyse (OLAP) optimiert ist. Die Architektur basiert auf Shards (horizontale Partitionierung) und Replikas (Hochverfügbarkeit), koordiniert durch ClickHouse Keeper.


Terminologie

BegriffBeschreibung
ClickHouseKubernetes-Ressource (apps.cozystack.io/v1alpha1), die einen verwalteten ClickHouse-Cluster darstellt.
ShardHorizontale Partition der Daten. Jeder Shard enthält eine Teilmenge der Gesamtdaten.
ReplicaKopie eines Shards. Gewährleistet Redundanz und ermöglicht paralleles Lesen.
ClickHouse KeeperVerteilter Koordinationsdienst (Alternative zu ZooKeeper), der die Replikation und den Konsens zwischen den Knoten verwaltet.
ResticSicherungstool zum Erstellen verschlüsselter Snapshots auf S3-Speicher.
OLAPOnline Analytical Processing — Datenzugriffsmodell, optimiert für analytische Abfragen (Aggregationen, Spaltenscans).
resourcesPresetVordefiniertes Ressourcenprofil (nano bis 2xlarge).

Sharding und Replikation

Sharding

Sharding verteilt die Daten horizontal auf mehrere Knoten:

  • Jeder Shard enthält einen Teil der Daten
  • SELECT-Abfragen werden parallel auf allen Shards ausgeführt
  • Der Parameter shards im Manifest bestimmt die Anzahl der Partitionen

Replikation

Jeder Shard kann mehrere Replikas haben:

  • Die Replikas eines Shards enthalten identische Daten
  • Die Koordination wird durch ClickHouse Keeper gewährleistet
  • Bei Ausfall eines Replikas werden Lesevorgänge auf die anderen umgeleitet
Tipp

Für kleine Datenvolumen reicht ein einzelner Shard mit 2 Replikas aus. Fügen Sie Shards hinzu, wenn das Volumen die Kapazitäten eines einzelnen Knotens übersteigt.


ClickHouse Keeper

ClickHouse Keeper ersetzt ZooKeeper für die Cluster-Koordination:

  • Verwaltet den Konsens zwischen den Replikas (Raft-Protokoll)
  • Speichert die Metadaten des Clusters (verteilte Tabellen, Replikation)
  • Erfordert eine ungerade Anzahl von Instanzen (3 empfohlen) für das Quorum
Keeper-ParameterBeschreibung
keeper.replicasAnzahl der Keeper-Instanzen (3 empfohlen)
keeper.resources / keeper.resourcesPresetDem Keeper zugewiesene Ressourcen
keeper.sizeKeeper-Speichergröße

Sicherung

ClickHouse auf Hikube verwendet Restic für Sicherungen, mit dem gleichen Modell wie MySQL:

  • Verschlüsselte Snapshots, gespeichert in einem S3-Bucket
  • Planung über Cron (backup.schedule)
  • Konfigurierbare Aufbewahrungsstrategie (backup.cleanupStrategy)

Benutzerverwaltung

Benutzer werden im Manifest deklariert mit:

  • Passwort für die Authentifizierung
  • Flag readonly: true für Nur-Lese-Zugriff, false für Vollzugriff

Ein admin-Benutzer wird automatisch mit Vollrechten erstellt.


Ressourcen-Presets

PresetCPUSpeicher
nano250m128Mi
micro500m256Mi
small1512Mi
medium11Gi
large22Gi
xlarge44Gi
2xlarge88Gi

Limits und Kontingente

ParameterWert
Max. ShardsJe nach Tenant-Kontingent
Replikas pro ShardJe nach Tenant-Kontingent
Speichergröße (size)Variabel (in Gi)
Keeper-Instanzen3 empfohlen (ungerade)

Weiterführende Informationen