Was bedeutet Galera
Galera Cluster
Codership entwickelt Replikations- und Clustering-Lösungen für Open-Source-Datenbanken und übernimmt dabei neue Ideen aus der jüngsten DBMS- und Distributed-Computing-Forschung, um eine grundlegend neue Hochverfügbarkeitslösung zu entwickeln. Das Flaggschiffprodukt, Codership's Galera Cluster (mehr dazu Cluster Schulung) ™ for MySQL, eine synchrone aktiv-aktive Cluster-Software, bietet hohe Systemverfügbarkeit ohne Datenverlust und Skalierbarkeit für Webgeschäfte mit hohem Datenaufkommen. Galera ist ein Open-Source-Produkt und wird mit MariaDB Galera Cluster und Percona XtraDB Cluster betrieben. Es ist in Linux- und OpenStack-Distributionen enthalten.
Online-Dienste stehen heute vor 3 Anforderungen, die die Wahl einer Datenbank-Clustering-Lösung bestimmen:
Wenn eine Transaktion COMMIT ausgibt, werden vor dem eigentlichen COMMIT alle Änderungen (INSERTs / UPDATEs / DELETEs), die am DB-Knoten aufgetreten sind, zusammen mit den modifizierten Zeilen "PRIMARY KEYS" als WRITE-SET gesammelt. Der Quellknoten sendet dann dieses WRITE-SET an alle Knoten im Cluster, einschließlich des Ursprungsknotens, und führt dann einen deterministischen Zertifizierungstest des Schreibsatzes unter Verwendung der PRIMARY KEYS im Schreibsatz und der tatsächlichen PRIMARY KEY-Werte in den Knoten durch. Dieser Test dient dazu, die Integrität des Schreibsatzes zu bestimmen. Wenn der Test fehlschlägt, verwirft der Ursprungsknoten den Schreibsatz, und der Cluster rollt die ursprüngliche Transaktion zurück. Wenn der Zertifizierungstest erfolgreich ist, werden die Transaktions-Commits und Schreibvorgänge auf alle Knoten im Cluster angewendet, wodurch die Replikation (mehr Infos Replikation Seminar) durchgeführt wird.
Im Galera Cluster müssen sich alle Knoten auf einen Konsens über das Ergebnis der Transaktion einigen, und die Replikation erfolgt. Daraufhin benachrichtigt der Ursprungsknoten den Client über den erfolgreichen Transaktions-Commit. Jeder Transaktion wird eine globale Ordinalsequenznummer zugewiesen. Während des deterministischen Zertifizierungstests auf dem Schreibsatz prüft der Cluster die aktuelle Transaktion mit der letzten erfolgreichen Transaktion.
Zertifizierungsbasierte Replikationsmethode
Die Hauptidee bei der zertifikatsbasierten Replikation ist, dass eine Transaktion konventionell ausgeführt wird, bis sie den Commit-Punkt erreicht, vorausgesetzt, es gibt keinen Konflikt. Dies wird als optimistische Ausführung bezeichnet.
Wenn der Client einen COMMIT-Befehl ausgibt, aber bevor der eigentliche Commit-Punkt erreicht ist, werden alle von der Transaktion und den Primärschlüsseln der geänderten Zeilen an der Datenbank (mehr Infos Datenbank Seminar) vorgenommenen Änderungen in einem Schreibsatz gesammelt. Die Datenbank sendet diesen Schreibsatz dann an alle anderen Knoten.
Der Schreibsatz wird dann unter Verwendung der Primärschlüssel einem deterministischen Zertifizierungstest unterzogen. Dies wird auf jedem Knoten im Cluster durchgeführt, einschließlich des Knotens, von dem der Schreibsatz stammt. Er bestimmt, ob der Knoten den Schreibsatz anwenden kann oder nicht.
Wenn der Zertifizierungstest fehlschlägt, verwirft der Knoten den Schreibsatz, und der Cluster rollt die ursprüngliche Transaktion zurück. Wenn der Test erfolgreich ist, wird die Transaktion festgeschrieben, und der Schreibsatz wird auf den Rest des Clusters angewendet.
Generische Replikationsbibliothek
Die Replikationsfunktionalität von Galera ist als Shared Library implementiert und kann mit jedem Transaktionsverarbeitungssystem verknüpft werden, das die wsrep API Hooks implementiert. Die Galera Replikationsbibliothek ist ein Protokollstack, der Funktionalität zur Vorbereitung, Replikation und Anwendung von Transaktionsschreibsätzen bietet.
Codership entwickelt Replikations- und Clustering-Lösungen für Open-Source-Datenbanken und übernimmt dabei neue Ideen aus der jüngsten DBMS- und Distributed-Computing-Forschung, um eine grundlegend neue Hochverfügbarkeitslösung zu entwickeln. Das Flaggschiffprodukt, Codership's Galera Cluster (mehr dazu Cluster Schulung) ™ for MySQL, eine synchrone aktiv-aktive Cluster-Software, bietet hohe Systemverfügbarkeit ohne Datenverlust und Skalierbarkeit für Webgeschäfte mit hohem Datenaufkommen. Galera ist ein Open-Source-Produkt und wird mit MariaDB Galera Cluster und Percona XtraDB Cluster betrieben. Es ist in Linux- und OpenStack-Distributionen enthalten.
Online-Dienste stehen heute vor 3 Anforderungen, die die Wahl einer Datenbank-Clustering-Lösung bestimmen:
- Die Notwendigkeit eines kontinuierlichen Betriebs und eines höheren Grades an Hochverfügbarkeit (siehe Hochverfügbarkeit Seminare) als traditionell erforderlich,
- die Fähigkeit zur Skalierung, wenn die Beliebtheit der Dienste wächst - Sprünge von 20-mal über Nacht oder mehr sind üblich
- die Fähigkeit zur Skalierung minimiert die Infrastrukturkosten, wenn sie auf Cloud-Technologie laufen.
Wenn eine Transaktion COMMIT ausgibt, werden vor dem eigentlichen COMMIT alle Änderungen (INSERTs / UPDATEs / DELETEs), die am DB-Knoten aufgetreten sind, zusammen mit den modifizierten Zeilen "PRIMARY KEYS" als WRITE-SET gesammelt. Der Quellknoten sendet dann dieses WRITE-SET an alle Knoten im Cluster, einschließlich des Ursprungsknotens, und führt dann einen deterministischen Zertifizierungstest des Schreibsatzes unter Verwendung der PRIMARY KEYS im Schreibsatz und der tatsächlichen PRIMARY KEY-Werte in den Knoten durch. Dieser Test dient dazu, die Integrität des Schreibsatzes zu bestimmen. Wenn der Test fehlschlägt, verwirft der Ursprungsknoten den Schreibsatz, und der Cluster rollt die ursprüngliche Transaktion zurück. Wenn der Zertifizierungstest erfolgreich ist, werden die Transaktions-Commits und Schreibvorgänge auf alle Knoten im Cluster angewendet, wodurch die Replikation (mehr Infos Replikation Seminar) durchgeführt wird.
Im Galera Cluster müssen sich alle Knoten auf einen Konsens über das Ergebnis der Transaktion einigen, und die Replikation erfolgt. Daraufhin benachrichtigt der Ursprungsknoten den Client über den erfolgreichen Transaktions-Commit. Jeder Transaktion wird eine globale Ordinalsequenznummer zugewiesen. Während des deterministischen Zertifizierungstests auf dem Schreibsatz prüft der Cluster die aktuelle Transaktion mit der letzten erfolgreichen Transaktion.
Zertifizierungsbasierte Replikationsmethode
Die Hauptidee bei der zertifikatsbasierten Replikation ist, dass eine Transaktion konventionell ausgeführt wird, bis sie den Commit-Punkt erreicht, vorausgesetzt, es gibt keinen Konflikt. Dies wird als optimistische Ausführung bezeichnet.
Wenn der Client einen COMMIT-Befehl ausgibt, aber bevor der eigentliche Commit-Punkt erreicht ist, werden alle von der Transaktion und den Primärschlüsseln der geänderten Zeilen an der Datenbank (mehr Infos Datenbank Seminar) vorgenommenen Änderungen in einem Schreibsatz gesammelt. Die Datenbank sendet diesen Schreibsatz dann an alle anderen Knoten.
Der Schreibsatz wird dann unter Verwendung der Primärschlüssel einem deterministischen Zertifizierungstest unterzogen. Dies wird auf jedem Knoten im Cluster durchgeführt, einschließlich des Knotens, von dem der Schreibsatz stammt. Er bestimmt, ob der Knoten den Schreibsatz anwenden kann oder nicht.
Wenn der Zertifizierungstest fehlschlägt, verwirft der Knoten den Schreibsatz, und der Cluster rollt die ursprüngliche Transaktion zurück. Wenn der Test erfolgreich ist, wird die Transaktion festgeschrieben, und der Schreibsatz wird auf den Rest des Clusters angewendet.
Generische Replikationsbibliothek
Die Replikationsfunktionalität von Galera ist als Shared Library implementiert und kann mit jedem Transaktionsverarbeitungssystem verknüpft werden, das die wsrep API Hooks implementiert. Die Galera Replikationsbibliothek ist ein Protokollstack, der Funktionalität zur Vorbereitung, Replikation und Anwendung von Transaktionsschreibsätzen bietet.