Hochverfügbarkeit in Azure Database for MariaDB

Wichtig

Azure Database for MariaDB wird demnächst eingestellt. Es wird dringend empfohlen, zu Azure Database for MySQL zu migrieren. Weitere Informationen zum Migrieren zur Azure-Datenbank für MySQL finden Sie unter Was geschieht mit Azure Database for MariaDB?.

Der Azure-Datenbank für MariaDB-Dienst eignet sich für die Ausführung von unternehmenskritischen Datenbanken, die hohe Betriebszeit erfordern. Sie bietet hohe Verfügbarkeit während:

  • Geplante Ereignisse, z. B. vom Benutzer initiierte Skalierungsberechnungsvorgänge.
  • Ungeplante Ereignisse, z. B. zugrunde liegende Hardware-, Software- oder Netzwerkfehler.

Azure Database for MariaDB bietet einen finanziell gesicherten Servicelevelvertrag für Die Betriebszeit. Da der Dienst auf der Azure-Architektur basiert, können Sie seine Funktionen für hohe Verfügbarkeit, Redundanz und Resilienz nutzen, ohne zusätzliche Komponenten zu konfigurieren.

Komponenten in Azure Database for MariaDB

Komponente Beschreibung
MariaDB-Datenbankserver Azure Database for MariaDB bietet Sicherheit, Isolation und Ressourcenschutzvorrichtungen und ermöglicht einen schnellen Neustart von Datenbankservern. Diese Funktionen erleichtern Vorgänge wie skalierungs- und Datenbankserverwiederherstellung (in Sekunden) nach einem Ausfall.
Änderungen an Daten auf dem Datenbankserver finden in der Regel im Rahmen von Datenbanktransaktionen statt. Alle Datenbankänderungen werden synchron in Form von Schreib-Ahead-Protokollen (ib_log Dateien) auf Azure Storage aufgezeichnet, die an den Datenbankserver angefügt ist. Während des Prüfpunktprozesses für die Datenbank werden außerdem Datenseiten aus dem Arbeitsspeicher des Datenbankservers in den Speicher geleert.
Remotespeicher Alle physischen MariaDB-Datendateien und Protokolldateien werden in Azure Storage gespeichert, wodurch drei Kopien von Daten in einer Region gespeichert werden, um Datenredundanz, Verfügbarkeit und Zuverlässigkeit bereitzustellen. Die Speicherebene ist unabhängig vom Datenbankserver. Sie kann von einem fehlgeschlagenen Datenbankserver getrennt und in einigen Sekunden erneut an einen neuen Datenbankserver angefügt werden.
Azure Storage überwacht kontinuierlich alle Speicherfehler. Wenn eine Blockbeschädigung erkannt wird, behebt sie das Problem automatisch, indem eine neue Speicherkopie instanziiert wird.
Gateway Das Gateway fungiert als Datenbankproxy, indem alle Clientverbindungen an den Datenbankserver weitergeleitet werden.

Risikominderung geplanter Ausfallzeiten

Die Architektur der Azure-Datenbank für MariaDB bietet hohe Verfügbarkeit während geplanter Ausfallzeiten.

Diagram of elastic scaling in Azure Database for MariaDB.

Im Folgenden sind einige Szenarien für die geplante Standard intensität aufgeführt:

Szenario Beschreibung
Berechnen von Skalierungs- oder Skalierungsmaßstab Wenn Sie einen Berechnungsskalierungs- oder Skalierungsvorgang ausführen, stellt Die Azure-Datenbank für MariaDB einen neuen Datenbankserver mithilfe der skalierten Computekonfiguration bereit. Auf dem alten Datenbankserver ermöglicht der Dienst das Beenden aktiver Prüfpunkte, entwässert Clientverbindungen und bricht alle nicht ausgelassenen Transaktionen ab. Der Dienst beendet dann den alten Datenbankserver. Er trennt den Speicher vom alten Datenbankserver und fügt den Speicher an den neuen Datenbankserver an. Wenn die Clientanwendung die Verbindung erneut herstellt oder versucht, eine neue Verbindung herzustellen, leitet das Gateway die Verbindungsanforderung an den neuen Datenbankserver weiter.
Hochskalieren des Speichers Die Skalierung des Speichers ist ein Onlinevorgang und unterbricht den Datenbankserver nicht.
Bereitstellung neuer Software (Azure) Rollouts neuer Features oder Fehlerbehebungen erfolgen automatisch im Rahmen der geplanten Standard ance des Diensts. Weitere Informationen finden Sie in der Dokumentation und im Portal.
Upgrades von Nebenversionen Azure Database for MariaDB patches database servers automatically patches to the minor version that Azure determines. Automatisches Patchen erfolgt im Rahmen der geplanten Standard Dienstes. Es verursacht eine kurze Ausfallzeit in Bezug auf Sekunden, und der Datenbankserver wird automatisch mit der neuen Nebenversion neu gestartet. Weitere Informationen finden Sie in der Dokumentation und im Portal.

Entschärfung ungeplanter Ausfallzeiten

Ungeplante Ausfallzeiten können aufgrund unvorhergesehener Fehler auftreten, einschließlich zugrunde liegender Hardwarefehler, Netzwerkprobleme und Softwarefehler. Wenn der Datenbankserver unerwartet ausfällt, wird automatisch innerhalb weniger Sekunden ein neuer Datenbankserver bereitgestellt. Der Remotespeicher wird automatisch an den neuen Datenbankserver angefügt.

Das MariaDB-Modul führt den Wiederherstellungsvorgang mithilfe von Schreib-Ahead-Protokoll- und Datenbankdateien durch und öffnet den Datenbankserver, damit Clients eine Verbindung herstellen können. Nicht ausgelassene Transaktionen gehen verloren, und die Anwendung muss sie erneut versuchen.

Obwohl Sie ungeplante Ausfallzeiten nicht vermeiden können, entschärft Die Azure-Datenbank für MariaDB sie, indem Sie Wiederherstellungsvorgänge sowohl auf dem Datenbankserver als auch auf Speicherebene automatisch ausführen, ohne dass ein menschliches Eingreifen erforderlich ist.

Diagram of high availability in Azure Database for MariaDB.

Ungeplante Downtime: Fehlerszenarios und Dienstwiederherstellung

Hier sind zwei Fehlerszenarien und die automatische Wiederherstellung der Azure-Datenbank für MariaDB:

Szenario Automatische Wiederherstellung
Ausfall des Datenbankservers Wenn der Datenbankserver aufgrund eines zugrunde liegenden Hardwarefehlers ausgefallen ist, legt Die Azure-Datenbank für MariaDB aktive Verbindungen ab und bricht alle Inflight-Transaktionen ab. Der Dienst stellt automatisch einen neuen Datenbankserver bereit und fügt den Remotedatenspeicher an den neuen Datenbankserver an. Nach Abschluss der Datenbankwiederherstellung können Clients über das Gateway eine Verbindung mit dem neuen Datenbankserver herstellen.
Anwendungen, die die MariaDB-Datenbanken verwenden, müssen so erstellt werden, dass sie verworfene Verbindungen und fehlgeschlagene Transaktionen erkennen und wiederholen. Wenn die Anwendung eine Verbindung erneut abruft, leitet das Gateway die Verbindung transparent an den neu erstellten Datenbankserver weiter.
Speicherfehler Speicherbezogene Probleme, z. B. ein Datenträgerfehler oder eine Beschädigung eines physischen Blocks, wirken sich nicht auf Anwendungen aus. Da die Daten in drei Kopien gespeichert werden, dient der überlebende Speicher der Kopie der Daten. Die Azure-Datenbank für MariaDB korrigiert automatisch Blockbeschädigungen. Wenn eine Kopie der Daten verloren geht, erstellt der Dienst automatisch eine neue Kopie der Daten.

Nachfolgend sind Fehlerszenarien aufgeführt, bei denen eine Benutzeraktion wiederhergestellt werden muss:

Szenario Plan für die Wiederherstellung
Regionsausfall Regionen fallen nur selten aus. Wenn Sie jedoch Schutz vor einem Regionsfehler benötigen, können Sie ein oder mehrere Lesereplikate in anderen Regionen für die Notfallwiederherstellung konfigurieren. Ausführliche Informationen finden Sie in diesem Artikel zum Erstellen und Verwalten von Lesereplikaten. Wenn ein Fehler auf Regionsebene auftritt, können Sie ein in einer anderen Region konfiguriertes Lesereplikat manuell als Produktionsdatenbankserver heraufstufen.
Logischer/Benutzerfehler Die Wiederherstellung von Benutzerfehlern, z. B. versehentlich verworfene Tabellen oder falsch aktualisierte Daten, umfasst die Durchführung einer Point-in-Time-Wiederherstellung. Diese Aktion stellt die Daten wieder her und stellt sie wieder her, bis die Zeit vor dem Fehler aufgetreten ist.
Wenn Sie nur eine Teilmenge von Datenbanken oder bestimmten Tabellen anstelle aller Datenbanken auf dem Datenbankserver wiederherstellen möchten, können Sie den Datenbankserver in einer neuen Instanz wiederherstellen, die Tabellen über mysqldump exportieren und diese Tabellen dann in Ihrer Datenbank wiederherstellen .

Zusammenfassung

Azure Database for MariaDB verfügt über inhärente Hochverfügbarkeitsfunktionen, um Ihre Datenbanken vor häufigen Ausfällen zu schützen. Sie bietet eine schnelle Neustartfunktion von Datenbankservern, redundanten Speicher und effizientes Routing vom Gateway. Für zusätzlichen Datenschutz können Sie Sicherungen so konfigurieren, dass sie georepliziert werden und Lesereplikate in anderen Regionen bereitstellen.

Nächste Schritte