Vai al contenuto principale
Versione: 3.0.0-alpha (Diátaxis)

Concetti — ClickHouse

Architettura

ClickHouse su Hikube e un servizio gestito basato sull'operatore ClickHouse Operator. E un database SQL orientato per colonne, ottimizzato per l'analisi dei dati (OLAP). L'architettura si basa su shard (partizionamento orizzontale) e repliche (alta disponibilità), coordinati da ClickHouse Keeper.


Terminologia

TermineDescrizione
ClickHouseRisorsa Kubernetes (apps.cozystack.io/v1alpha1) che rappresenta un cluster ClickHouse gestito.
ShardPartizione orizzontale dei dati. Ogni shard contiene un sottoinsieme dei dati totali.
ReplicaCopia di uno shard. Assicura la ridondanza e permette la lettura parallela.
ClickHouse KeeperServizio di coordinamento distribuito (alternativa a ZooKeeper) che gestisce la replica e il consenso tra i nodi.
ResticStrumento di backup per creare snapshot cifrati verso uno storage S3.
OLAPOnline Analytical Processing — modello di accesso ai dati ottimizzato per le query analitiche (aggregazioni, scansioni di colonne).
resourcesPresetProfilo di risorse predefinito (da nano a 2xlarge).

Sharding e replica

Sharding

Lo sharding distribuisce i dati orizzontalmente tra più nodi:

  • Ogni shard contiene una parte dei dati
  • Le query SELECT vengono eseguite in parallelo su tutti gli shard
  • Il parametro shards nel manifesto determina il numero di partizioni

Replica

Ogni shard può avere più repliche:

  • Le repliche di uno stesso shard contengono dati identici
  • Il coordinamento e assicurato da ClickHouse Keeper
  • In caso di guasto di una replica, le letture vengono reindirizzate verso le altre
suggerimento

Per piccoli volumi di dati, un solo shard con 2 repliche è sufficiente. Aggiungete shard quando il volume supera le capacità di un singolo nodo.


ClickHouse Keeper

ClickHouse Keeper sostituisce ZooKeeper per il coordinamento del cluster:

  • Gestisce il consenso tra le repliche (protocollo Raft)
  • Archivia i metadati del cluster (tabelle distribuite, replica)
  • Necessita di un numero dispari di istanze (3 raccomandato) per il quorum
Parametro KeeperDescrizione
keeper.replicasNumero di istanze Keeper (3 raccomandato)
keeper.resources / keeper.resourcesPresetRisorse allocate al Keeper
keeper.sizeDimensione dello storage Keeper

Backup

ClickHouse su Hikube utilizza Restic per i backup, con lo stesso modello di MySQL:

  • Snapshot cifrati archiviati in un bucket S3
  • Pianificazione tramite cron (backup.schedule)
  • Strategia di retention configurabile (backup.cleanupStrategy)

Gestione degli utenti

Gli utenti sono dichiarati nel manifesto con:

  • Password per l'autenticazione
  • Flag readonly: true per un accesso in sola lettura, false per l'accesso completo

Un utente admin viene creato automaticamente con i diritti completi.


Preset di risorse

PresetCPUMemoria
nano250m128Mi
micro500m256Mi
small1512Mi
medium11Gi
large22Gi
xlarge44Gi
2xlarge88Gi

Limiti e quote

ParametroValore
Shard maxSecondo la quota del tenant
Repliche per shardSecondo la quota del tenant
Dimensione archiviazione (size)Variabile (in Gi)
Istanze Keeper3 raccomandato (dispari)

Per approfondire