Hochverfügbarkeit in Azure Database for MySQLHigh availability in Azure Database for MySQL

Der Dienst Azure Database for MySQL bietet eine garantierte hohe Verfügbarkeit mit der finanziell abgesicherten Vereinbarung zum Servicelevel (Service Level Agreement, SLA) über eine Uptime von 99,99 %.The Azure Database for MySQL service provides a guaranteed high level of availability with the financially backed service level agreement (SLA) of 99.99% uptime. Azure Database for MySQL bietet Hochverfügbarkeit sowohl bei geplanten Ereignissen wie benutzerseitig initiierten Skalierungscomputevorgängen als auch bei ungeplanten Ereignissen wie Ausfällen von zugrunde liegender Hardware oder Software oder Netzwerkausfällen.Azure Database for MySQL provides high availability during planned events such as user-initated scale compute operation, and also when unplanned events such as underlying hardware, software, or network failures occur. Der Dienst kann auch nach höchst kritischen Situationen schnell wiederhergestellt werden – so ist gewährleistet, dass für Anwendungen so gut wie keine Downtime auftritt.Azure Database for MySQL can quickly recover from most critical circumstances, ensuring virtually no application down time when using this service.

Azure Database for MySQL eignet sich zum Ausführen von unternehmenskritischen Datenbanken, die eine hohe Uptime erfordern.Azure Database for MySQL is suitable for running mission critical databases that require high uptime. Der Dienst basiert auf der Azure-Architektur und verfügt über inhärente Hochverfügbarkeit, Redundanz und Resilienz, um die Datenbankdowntime aufgrund von geplanten und ungeplanten Ausfällen zu minimieren, ohne dass Sie zusätzliche Komponenten konfigurieren müssen.Built on Azure architecture, the service has inherent high availability, redundancy, and resiliency capabilities to mitigate database downtime from planned and unplanned outages, without requiring you to configure any additional components.

Komponenten in Azure Database for MySQLComponents in Azure Database for MySQL

KomponenteComponent BeschreibungDescription
MySQL-DatenbankserverMySQL Database Server Azure Database for MySQL bietet Sicherheit, Isolation und Ressourcenschutzvorrichtungen und ermöglicht einen schnellen Neustart von Datenbankservern.Azure Database for MySQL provides security, isolation, resource safeguards, and fast restart capability for database servers. Diese Funktionen ermöglichen das Ausführen von Vorgängen wie Skalierung und Wiederherstellung von Datenbankservern nach einem Ausfall innerhalb weniger Sekunden.These capabilities facilitate operations such as scaling and database server recovery operation after an outage to happen in seconds.
Änderungen an Daten auf dem Datenbankserver finden in der Regel im Rahmen von Datenbanktransaktionen statt.Data modifications in the database server typically occur in the context of a database transaction. Alle Änderungen an der Datenbank werden synchron in Form von Write-Ahead-Protokollen (ib_log) im Azure Storage-Dienst aufgezeichnet, der an den Datenbankserver angefügt ist.All database changes are recorded synchronously in the form of write ahead logs (ib_log) on Azure Storage – which is attached to the database server. Während des Prüfpunktprozesses für die Datenbank werden außerdem Datenseiten aus dem Arbeitsspeicher des Datenbankservers in den Speicher geleert.During the database checkpoint process, data pages from the database server memory are also flushed to the storage.
RemotespeicherRemote Storage Alle physischen MySQL-Datendateien und Protokolldateien werden in Azure Storage gespeichert. Dieser Dienst ist so konzipiert, dass drei Kopien der Daten in einer Region gespeichert werden, um die Redundanz, Verfügbarkeit und Zuverlässigkeit der Daten sicherzustellen.All MySQL physical data files and log files are stored on Azure Storage, which is architected to store three copies of data within a region to ensure data redundancy, availability, and reliability. Außerdem ist die Speicherebene unabhängig vom Datenbankserver.The storage layer is also independent of the database server. Sie kann von einem ausgefallenen Datenbankserver getrennt und innerhalb weniger Sekunden an einen neuen Datenbankserver angefügt werden.It can be detached from a failed database server and reattached to a new database server within few seconds. Darüber hinaus prüft Azure Storage die Daten kontinuierlich auf Speicherfehler.Also, Azure Storage continuously monitors for any storage faults. Wenn eine Blockbeschädigung erkannt wird, wird diese automatisch durch Instanziieren einer neuen Speicherkopie behoben.If a block corruption is detected, it is automatically fixed by instantiating a new storage copy.
GatewayGateway Das Gateway fungiert als Datenbankproxy und leitet alle Clientverbindungen an den Datenbankserver weiter.The Gateway acts as a database proxy, routes all client connections to the database server.

Minimierung von geplanter DowntimePlanned downtime mitigation

Azure Database for MySQL ist so konzipiert, dass bei einer geplanten Downtime weiterhin Hochverfügbarkeit gewährleistet ist.Azure Database for MySQL is architected to provide high availability during planned downtime operations.

Übersicht über die elastische Skalierung in Azure Database for MySQL

Hier finden Sie einige Szenarien mit geplanter Wartung:Here are some planned maintenance scenarios:

SzenarioScenario BeschreibungDescription
Hoch-/Herunterskalieren von ComputeressourcenCompute scale up/down Wenn ein Benutzer den Vorgang zum Hoch- bzw. Herunterskalieren von Computeressourcen ausführt, wird ein neuer Datenbankserver mit der skalierten Computekonfiguration bereitgestellt.When the user performs compute scale up/down operation, a new database server is provisioned using the scaled compute configuration. Auf dem alten Datenbankserver können aktive Prüfpunkte abgeschlossen werden, Clientverbindungen werden entladen, alle Transaktionen ohne Commit werden abgebrochen, und anschließend wird der Server heruntergefahren.In the old database server, active checkpoints are allowed to complete, client connections are drained, any uncommitted transactions are canceled, and then it is shut down. Der Speicher wird dann vom alten Datenbankserver getrennt und an den neuen Datenbankserver angefügt.The storage is then detached from the old database server and attached to the new database server. Wenn die Clientanwendung versucht, die Verbindung wiederherzustellen oder eine neue Verbindung herzustellen, leitet das Gateway die Verbindungsanforderung an den neuen Datenbankserver weiter.When the client application retries the connection, or tries to make a new connection, the Gateway directs the connection request to the new database server.
Hochskalieren des SpeichersScaling Up Storage Das Hochskalieren des Speichers ist ein Onlinevorgang, bei dem der Datenbankserver nicht unterbrochen wird.Scaling up the storage is an online operation and does not interrupt the database server.
Bereitstellung neuer Software (Azure)New Software Deployment (Azure) Rollouts von neuen Features oder Fehlerbehebungen werden automatisch im Rahmen der geplanten Wartung des Diensts durchgeführt.New features rollout or bug fixes automatically happen as part of service’s planned maintenance. Weitere Informationen finden Sie in der Dokumentation und im Portal.For more information, refer to the documentation, and also check your portal.
Upgrades auf NebenversionenMinor version upgrades Azure Database for MySQL patcht Datenbankserver automatisch auf die von Azure festgelegte Nebenversion.Azure Database for MySQL automatically patches database servers to the minor version determined by Azure. Dies erfolgt im Rahmen der geplanten Wartung des Diensts.It happens as part of service's planned maintenance. Dabei kommt es zu einer kurzen Downtime von ein paar Sekunden. Danach wird der Datenbankserver automatisch mit der neuen Nebenversion neu gestartet.This would incur a short downtime in terms of seconds, and the database server is automatically restarted with the new minor version. Weitere Informationen finden Sie in der Dokumentation und im Portal.For more information, refer to the documentation, and also check your portal.

Minimierung von ungeplanter DowntimeUnplanned downtime mitigation

Ungeplante Downtime kann aufgrund von unvorhergesehenen Fehlern auftreten, darunter Fehler in der zugrunde liegenden Hardware, Netzwerkprobleme und Softwarefehler.Unplanned downtime can occur as a result of unforeseen failures, including underlying hardware fault, networking issues, and software bugs. Wenn der Datenbankserver unerwartet ausfällt, wird automatisch innerhalb weniger Sekunden ein neuer Datenbankserver bereitgestellt.If the database server goes down unexpectedly, a new database server is automatically provisioned in seconds. Der Remotespeicher wird automatisch an den neuen Datenbankserver angefügt.The remote storage is automatically attached to the new database server. Die MySQL-Engine führt den Wiederherstellungsvorgang mithilfe von WAL-Dateien und Datenbankdateien durch und öffnet den Datenbankserver, sodass Clients eine Verbindung herstellen können.MySQL engine performs the recovery operation using WAL and database files, and opens up the database server to allow clients to connect. Transaktionen ohne Commit gehen verloren und müssen von der Anwendung erneut ausgeführt werden.Uncommitted transactions are lost, and they have to be retried by the application. Ungeplante Downtime lässt sich zwar nicht vollständig vermeiden, wird aber von Azure Database for MySQL durch automatisches Ausführen von Wiederherstellungsvorgängen sowohl auf Ebene der Datenbankserver als auch des Speichers minimiert, ohne dass ein Eingreifen durch einen Benutzer erforderlich ist.While an unplanned downtime cannot be avoided, Azure Database for MySQL mitigates the downtime by automatically performing recovery operations at both database server and storage layers without requiring human intervention.

Übersicht über Hochverfügbarkeit in Azure Database for MySQL

Ungeplante Downtime: Fehlerszenarien und DienstwiederherstellungUnplanned downtime: failure scenarios and service recovery

Im Folgenden finden Sie einige Fehlerszenarien und die Aktionen von Azure Database for MySQL zur automatischen Wiederherstellung:Here are some failure scenarios and how Azure Database for MySQL automatically recovers:

SzenarioScenario Automatische WiederherstellungAutomatic recovery
Ausfall des DatenbankserversDatabase server failure Wenn der Datenbankserver aufgrund eines Fehlers an der zugrunde liegenden Hardware ausfällt, werden die aktiven Verbindungen getrennt, und alle Transaktionen, die gerade ausgeführt werden, werden abgebrochen.If the database server is down because of some underlying hardware fault, active connections are dropped, and any inflight transactions are aborted. Ein neuer Datenbankserver wird automatisch bereitgestellt, und der Remotedatenspeicher wird an den neuen Datenbankserver angefügt.A new database server is automatically deployed, and the remote data storage is attached to the new database server. Sobald die Datenbank wiederhergestellt wurde, können Clients über das Gateway eine Verbindung mit dem neuen Datenbankserver herstellen.After the database recovery is complete, clients can connect to the new database server through the Gateway.

Anwendungen, die die MySQL-Datenbanken verwenden, müssen so konzipiert sein, dass sie getrennte Verbindungen und Transaktionsfehler erkennen und entsprechende Wiederholungsversuche durchführen.Applications using the MySQL databases need to be built in a way that they detect and retry dropped connections and failed transactions. Wenn die Anwendung einen Wiederholungsversuch durchführt, leitet das Gateway die Verbindung transparent an den neu erstellten Datenbankserver um.When the application retries, the Gateway transparently redirects the connection to the newly created database server.
SpeicherfehlerStorage failure Speicherbezogene Probleme wie der Ausfall eines Datenträgers oder physische Blockbeschädigungen haben keine Auswirkungen auf Anwendungen.Applications do not see any impact for any storage-related issues such as a disk failure or a physical block corruption. Da drei Kopien der Daten gespeichert werden, wird eine Kopie der Daten vom verbleibenden Speicher bereitgestellt.As the data is stored in 3 copies, the copy of the data is served by the surviving storage. Blockbeschädigungen werden automatisch behoben.Block corruptions are automatically corrected. Wenn eine Kopie der Daten verloren geht, wird automatisch eine neue erstellt.If a copy of data is lost, a new copy of the data is automatically created.

Im Folgenden finden Sie einige Fehlerszenarien, bei denen für die Wiederherstellung eine Benutzeraktion erforderlich ist:Here are some failure scenarios that require user action to recover:

SzenarioScenario Plan für die WiederherstellungRecovery plan
Regionsausfall Region failure Regionen fallen nur selten aus.Failure of a region is a rare event. Wenn Sie jedoch Schutz vor einem Regionsausfall benötigen, können Sie ein oder mehrere Lesereplikate in anderen Regionen für die Notfallwiederherstellung konfigurieren.However, if you need protection from a region failure, you can configure one or more read replicas in other regions for disaster recovery (DR). (Weitere Informationen finden Sie in diesem Artikel zum Erstellen und Verwalten von Lesereplikaten.)(See this article about creating and managing read replicas for details). Bei einem Ausfall auf Regionsebene können Sie das in der anderen Region konfigurierte Lesereplikat manuell zum Produktionsdatenbankserver höher stufen.In the event of a region-level failure, you can manually promote the read replica configured on the other region to be your production database server.
Logische Fehler/Benutzerfehler Logical/user errors Die Wiederherstellung nach Benutzerfehlern, z. B. versehentlich gelöschten Tabellen oder falsch aktualisierten Daten, umfasst das Durchführen einer Zeitpunktwiederherstellung, bei der die Daten auf einen Zeitpunkt kurz vor dem Fehler wiederhergestellt werden.Recovery from user errors, such as accidentally dropped tables or incorrectly updated data, involves performing a point-in-time recovery (PITR), by restoring and recovering the data until the time just before the error had occurred.

Wenn Sie anstelle aller Datenbanken auf dem Datenbankserver nur einen Teil der Datenbanken oder bestimmte Tabellen wiederherstellen möchten, können Sie den Datenbankserver in einer neuen Instanz wiederherstellen, die Tabellen über mysqldump exportieren und sie dann über restore in Ihrer Datenbank wiederherstellen.If you want to restore only a subset of databases or specific tables rather than all databases in the database server, you can restore the database server in a new instance, export the table(s) via mysqldump, and then use restore to restore those tables into your database.

ZusammenfassungSummary

Azure Database for MySQL bietet einen schnellen Neustart von Datenbankservern, redundanten Speicher und effizientes Routing über das Gateway.Azure Database for MySQL provides fast restart capability of database servers, redundant storage, and efficient routing from the Gateway. Um Ihre Daten zusätzlich zu schützen, können Sie Sicherungen so konfigurieren, dass sie georepliziert werden, und ein oder mehrere Lesereplikate in anderen Regionen bereitstellen.For additional data protection, you can configure backups to be geo-replicated, and also deploy one or more read replicas in other regions. Mithilfe der inhärenten Hochverfügbarkeitsfunktionen schützt Azure Database for MySQL Ihre Datenbanken vor den häufigsten Arten von Ausfällen und bietet eine branchenführende, finanziell abgesicherte SLA über eine Uptime von 99,99 %.With inherent high availability capabilities, Azure Database for MySQL protects your databases from most common outages, and offers an industry leading, finance-backed 99.99% of uptime SLA. Dank all dieser Verfügbarkeits- und Zuverlässigkeitsfunktionen ist Azure die ideale Plattform für Ihre unternehmenskritischen Anwendungen.All these availability and reliability capabilities enable Azure to be the ideal platform to run your mission-critical applications.

Nächste SchritteNext steps