Galera-Cluster: Übersicht über einen MariaDB-Cluster
In modernen Datenbankverwaltungslösungen sind unterbrechungsfreier Betrieb und hohe Verfügbarkeit ebenso unverzichtbare Merkmale wie Flexibilität bei den Erweiterungsoptionen . Nur so ist es möglich, die Anforderungen heutiger Systeme zu erfüllen, bei denen die Zugriffe stark schwanken und unvorhersehbare Lastspitzen auftreten. Die Komplexität dieses Manövers liegt darin, diese Anforderungen mit minimalen Infrastrukturkosten in der Cloud zu erfüllen.
Galera Cluster hilft Ihnen bei dieser schwierigen Aufgabe: Die Lösung Clustering Multimaster für Datenbanken basiert auf synchroner Replikation. Hohe Leistung für alle Knoten in einem Netzwerk von Datenbanken hat immer die gleichen Daten in Echtzeit. Galera Cluster ist unter anderem für MariaDB verfügbar und minimiert Datenverluste und garantiert höchste Zuverlässigkeit. Als Nächstes erfahren Sie, wie genau MariaDB-Cluster auf Basis von Galera Cluster funktionieren, welche Vorteile diese Technologie bietet und wofür sie genau verwendet wird.
- Was ist Galera Cluster?
- Wie funktionieren Galera MariaDB-Cluster?
- Wie ist die Struktur eines Galera-Clusters?
- Was sind die Vorteile eines MariaDB-Clusters?
- Anwendungsfälle: Wofür wird Galera Cluster verwendet?
- Datenbankanwendungen mit hohen Anforderungen an die Schreibleistung
- Clustering für WAN
- Notfallwiederherstellung (Notfallwiederherstellungsplan)
Was ist Galera Cluster?
Galera Cluster ist ein Softwarepaket für Linux-Betriebssysteme, mit dem MySQL-, XtraDB- und MariaDB-Cluster erstellt und verwaltet werden können. Diese Clusteranwendung basiert auf der InnoDB-Speicher-Engine oder ihrer abgeleiteten XtraDB. Es ist experimentell kompatibel mit der MyISAM-Engine, die lange Zeit auch in MySQL und MariaDB als Vorgänger von InnoDB verwendet wurde. Galera Cluster wendet das Prinzip der synchronen Replikation auf die Speicherung von Daten auf den verschiedenen unabhängigen Knoten des Clusters an. Alle Prozesse zum Kopieren und Ändern der gespeicherten Daten finden gleichzeitig in allen primären und sekundären Speichereinheiten statt, sodass die in allen Knoten vorhandenen Daten immer aktuell sind und sich nicht zwischen ihnen unterscheiden.
Der minimale Ausdruck eines Galera-Clusters besteht aus drei Knoten (Entwickler empfehlen im Allgemeinen die Verwendung einer ungeraden Zahl). Wenn einer der Knoten während der Datentransaktion ausfällt, beispielsweise aufgrund von Netzwerk- oder Systemproblemen, bilden die beiden anderen Knoten immer noch die Mehrheit, die für den erfolgreichen Abschluss der Transaktion erforderlich ist.
Die Datenbanksysteme , die von Galera Cluster profitieren, sind MariaDB und MySQL. Unser Artikel MariaDB vs. MySQL enthält einen detaillierten Vergleich zwischen den beiden Datenverwaltungsanwendungen.
Wie funktionieren Galera MariaDB-Cluster?
Ein auf Galera Cluster basierender MariaDB-Cluster zeichnet sich dadurch aus, dass alle Knoten im Netzwerk jederzeit über dieselben Daten verfügen. So wird in Cluster – Software , die traditionelle Unterscheidung zwischen Master (beschreibbar Server) und Slave (nur lesbar) Datenbankserver verschwindet. Benutzer können Daten auf jeden Speicherknoten schreiben und diese werden automatisch an alle anderen Teilnehmer im Cluster weitergeleitet. Diese Eigenschaft wird auch als Multimaster bezeichnet .
Um diesen flexiblen Datenaustausch zu gewährleisten, verwendet Galera Cluster ein synchrones Replikationsverfahren für die Verwaltung, das auf dem Austausch von Zertifikaten basiert . Wenn die Daten repliziert werden, dh in eine der Galera MariaDB-Clusterdatenbanken geschrieben werden, gelten diese beiden Prinzipien:
- Jeder Transaktion in der Datenbank wird eine eindeutige Sequenznummer zugewiesen . Bevor ein Knoten im Cluster die entsprechenden Änderungen an der Datenbank genehmigt, vergleicht er die Sequenznummer mit der Nummer der zuletzt festgeschriebenen Transaktion. Bei der Prüfung kommen alle Knoten zu demselben Ergebnis ( Transaktion bestätigt oder Transaktion abgelehnt ). Der Knoten, der die Transaktion gestartet hat, überträgt das Ergebnis an den Client.
- In jeder Transaktion werden alle Replikate der Datenbank aktualisiert . Wenn also eine Transaktion nach der Zertifizierung bestätigt wird, nehmen alle Knoten entsprechende Änderungen an ihrem Datensatz vor. Wenn bei Knoten in einem Galera-Cluster ein technisches Problem auftritt, können sie nur vorübergehend von der synchronen Replikation ausgeschlossen werden.
Wie ist die Struktur eines Galera-Clusters?
Die interne Architektur eines Galera-Clusters besteht aus diesen vier Komponenten:
- Datenbankverwaltungssystem : Das DBMS ist die zentrale Einheit des Clusters. Der entsprechende Datenbankserver wird auf jedem Knoten ausgeführt. Wie bereits erwähnt, ist Galera Cluster neben MariaDB auch mit MySQL und Percona XtraDB kompatibel.
- Wsrep-API : Die wsrep-API definiert und implementiert die Schnittstellen- und Zugriffsfunktionen für die beteiligten Datenbankserver. Außerdem übernimmt wsrep die Datenreplikation. Unter anderem stellt die API die wsrep-Hooks (Links zum Datenbankserver zur Replikation) und die Funktion dlopen () bereit , die die Kommunikation mit den Hooks ermöglicht .
- Plugin- Replikation Galley- oder Galera-Replikations-Plugin : Dieses Plugin implementiert die API wsrep. Zu diesem Zweck bietet es eine Schicht für den Zertifizierungsprozess, eine Schicht für die Replikation (einschließlich Protokoll) und das Gruppenkommunikationsframework.
- Gruppenkommunikations- Plugins oder Gruppenkommunikations-Plugins : Galera Cluster bietet verschiedene Erweiterungen für die Implementierung von Gruppenkommunikationssystemen wie dem Spread Toolkit oder gcomm. Diese Plugins basieren auf dem Gruppenkommunikations-Framework.
Was sind die Vorteile eines MariaDB-Clusters?
In diesem Artikel haben wir bereits die Hauptvorteile der MariaDB-Cluster von Galera erwähnt. Der Wechsel zu diesem Technologiecluster bietet Flexibilität bei der Datenspeicherung, ohne auf ein Maximum an Zuverlässigkeit und Verfügbarkeit zu verzichten , was in den üblichen Konfigurationen von MariaDB nicht möglich ist.
Durch die synchrone Replikation wird sichergestellt, dass alle beteiligten Speichereinheiten jederzeit auf dem neuesten Stand sind. Galera Cluster sendet alle Änderungen automatisch an alle Laufwerke in der Datenbank, sodass keine manuellen Kopien oder zeitaufwändigen Sicherungsvorgänge erforderlich sind. Der Multimaster- Ansatz ermöglicht auch den Zugriff auf alle Server in der integrierten MariaDB-Datenbank , um deren Daten zu schreiben, zu ändern oder zu löschen. Da sich Knoten in der Nähe von Clients befinden können, kann die Latenz minimiert werden .
Ein weiterer Vorteil eines auf einem Galera-Cluster basierenden MariaDB-Clusters ist die hervorragende Cloud-Unterstützung dieser Art von Architektur. Sie eignen sich besonders gut für die flexible und Cloud-basierte Skalierbarkeit von Datenbankressourcen. Selbst die Verteilung von Daten an verschiedene Rechenzentren ist kein Problem mehr, da jede Transaktion in Galera Cluster nur einmal an jedes Rechenzentrum gesendet werden muss.
IONOS bietet maßgeschneidertes SQL Server-Hosting. Mit MariaDB, MySQL oder MSSQL können Sie zwischen verschiedenen Server- und Hosting-Lösungen für Ihr angepasstes Datenbanksystem wählen.
Anwendungsfälle: Wofür wird Galera Cluster verwendet?
Ein Galera MariaDB-Cluster ist dank der bereits erwähnten Funktionen und Vorteile eine hervorragende Lösung für die Verwaltung Ihrer eigenen Datenbanklösung. Insbesondere deckt die Clusterkonfiguration unter anderem die folgenden Anwendungsfälle ab:
Datenbankanwendungen mit hohen Anforderungen an die Schreibleistung
Durch die Verteilung der Schreibvorgänge auf die Gruppe können Sie die Verwendung der verfügbaren Schreibressourcen optimieren. Nach der ersten Verarbeitung einer Kundentransaktion müssen die Knoten, an die die Transaktion gesendet wird, nur die vorgenommenen Änderungen aufzeichnen. Auf diese Weise garantiert die Galera Cluster-Replikationsmethode im Allgemeinen eine viel höhere Schreibleistung als die meisten Datenbankkonfigurationen, was die Clustertechnologie für schreibintensive Anwendungen sehr interessant macht.
Clustering für WAN
In Internet-WANs (Wide Area Networks) funktioniert Galera Cluster ebenfalls problemlos. Obwohl es eine kleine Verzögerung (Übertragungsverzögerung) gibt, die proportional zur Rotationszeit des Netzwerkpakets (RTT) ist, wirkt sich dies nur auf den Prozess der Bestätigung eingehender Transaktionen in der Datenbank aus. Die Verwendung von MariaDB-Clustern in der Cloud ist daher eines der interessantesten Beispiele.
Notfallwiederherstellung (Notfallwiederherstellungsplan)
Das Prinzip der Notfallwiederherstellung lautet wie folgt: Daten werden separat in einem separaten Rechenzentrum gespeichert, um ein vollständiges Bild davon zu erhalten, sodass sie im Notfall abgerufen werden können. Dieser Ansatz hängt eng mit der allgemeinen Speicherung und Verwaltung von Datenbeständen in der Cloud zusammen. In diesem Fall überträgt Galera Cluster die replizierten Daten, stellt sie jedoch nicht für die Verarbeitung von Kundentransaktionen zur Verfügung. Wenn ein System-Reset erforderlich ist, wird der Disaster Recovery- Teil des MariaDB-Clusters vorübergehend zur primären Instanz, um Ausfallzeiten zu minimieren.
Unser Artikel Die Bedeutung eines Notfallwiederherstellungsplans enthält detaillierte Informationen zum Notfallwiederherstellungsplan.