Ein Cluster verbindet mehrere Computer oder Datenbankserver zu einem gemeinsamen System, das nach außen wie eine einzige Einheit arbeitet. Dadurch werden Rechenleistung, Speicher oder Dienste gebündelt — mit mehr Ausfallsicherheit und Skalierbarkeit, als ein einzelner Server je bieten könnte.

Was ist ein Cluster?

Der Begriff kommt aus dem Englischen und bedeutet „Gruppe" oder „Bündel". In der IT bezeichnet ein Cluster eine Gruppe unabhängiger Rechner (Knoten), die über ein Netzwerk verbunden sind und gemeinsam arbeiten. Die Software verteilt Aufgaben auf die Knoten und sorgt dafür, dass das System weiterläuft, auch wenn einzelne Knoten ausfallen.

Cluster-Arten

  • Hochverfügbarkeits-Cluster (HA): Übernimmt automatisch die Arbeit, wenn ein Knoten ausfällt. Wichtig für kritische Dienste.
  • Lastverteilungs-Cluster: Verteilt Anfragen auf viele Server, damit keiner überlastet wird.
  • Compute-Cluster: Bündelt Rechenleistung für aufwendige Aufgaben wie Simulationen oder KI-Training.
  • Datenbank-Cluster: Verteilt Datenbanken über mehrere Knoten — oft kombiniert mit Sharding und Replikation.

Datenbank-Cluster im Detail

Bei Datenbanken gibt es zwei klassische Muster: Beim Primary-Replica-Muster schreibt nur ein Knoten, die anderen lesen Kopien. Beim Multi-Primary-Cluster können mehrere Knoten schreiben und halten sich über Protokolle synchron. Beide Ansätze erhöhen die Verfügbarkeit, verlangen aber Kompromisse: Die Konsistenz der Daten muss über verteilte Transaktionen abgesichert werden.

Cluster-Lösungen bauen oft auf NoSQL-Datenbanken auf, die von Natur aus verteilt arbeiten. Auch klassische Systeme wie MariaDB oder PostgreSQL lassen sich mit Zusatzwerkzeugen clustern.

Vorteile und Herausforderungen

  • Vorteile: Ausfallsicherheit, Skalierbarkeit, höhere Gesamtleistung.
  • Herausforderungen: Netzwerklatenz, Datenkonsistenz, höhere Komplexität bei Betrieb und Wartung.

Verwandte Grundlagen: Datenbank-Indizes, ACID-Transaktionssicherheit, Deadlocks.