Funktionsweise von Azure Database for MySQL
In dieser Lektion erfahren Sie, wie Azure Database for MySQL funktioniert, beginnend mit der Architektur. Außerdem erfahren Sie, wie der Dienst Hochverfügbarkeit, Sicherungsfunktionalität und Skalierung bietet, um die Anforderungen Ihrer Workload zu erfüllen.
Architektur von Azure Database for MySQL
Das folgende Diagramm beschreibt die Architektur einer Instanz von Azure Database for MySQL – Flexible Server.
- Die MySQL-Instanz wird auf einer Azure-VM ausgeführt.
- Daten und Protokolle werden in Azure Premium Storage gespeichert.
- Die Daten werden dreimal im lokalen redundanten Speicher für die Sicherung und Ausfallsicherheit repliziert. Der Dienst bietet außerdem Optionen zum Konfigurieren zonenredundanter oder georedundanter Speichersicherungen an.
- Darüber hinaus haben Sie die Möglichkeit, Ihre verschiedenen Client-Apps, die mit dem flexiblen MySQL-Server verbunden sind, in derselben Verfügbarkeitszone zu speichern.
Sie können sich auch für zwischen einer zonengleichen oder zonenredundanten Hochverfügbarkeit wählen, die automatisch ein Standby-Replikat bereithält und verwaltet.
Funktionsweise von Hochverfügbarkeit
Für Azure Database for MySQL –Flexibler Server wird innerhalb der einzelnen Verfügbarkeitszone nach einem Hostingserverfehler der folgende Prozess ausgeführt:
- Azure stellt einen neuen virtuellen Computer (VM) bereit.
- Azure ordnet die Speicher- und Datendateien der neu bereitgestellten VM zu.
- Das MySQL-Datenbank-Engine wird online geschaltet.
- Clientanwendungen stellen die Verbindung mit der neuen MySQL-Instanz wieder her.
Hinweis
Wenn Sie zonenübergreifende Hochverfügbarkeit bereitgestellt haben, wird ein unmittelbar betriebsbereite Standbyserver in einer anderen Verfügbarkeitszone in derselben Azure-Region betrieben. Dieser Server ist ein vollständig synchronisiertes Replikat des primären Servers. Im Falle eines primären Serverausfalls kann der unmittelbar betriebsbereite Standbyserver schnell mit minimalen Unterbrechungen übernommen werden, wodurch die Dienstverfügbarkeit beibehalten wird.
Funktionsweise von Sicherungen
Sie können Sicherungen verwenden, um einen beliebigen Zeitpunkt des Servers innerhalb des Aufbewahrungszeitraums (35 Tage oder bis zu 10 Jahre mit langfristiger Aufbewahrung, Vorschauversion) wiederherzustellen.
Funktionsweise der Skalierung
Die Skalierung in Azure Database for MySQL umfasst das Anpassen der Computerressourcen entsprechend den Anforderungen der Anwendung, die basierend auf der Benutzernachfrage, der Komplexität der verarbeiteten Vorgänge oder anderen Faktoren wie dem Geschäftswachstum schwanken können. Diese Flexibilität ist entscheidend für eine optimale Leistung und Kosteneffizienz.
Skalierungstypen
- Vertikale Skalierung (Hoch- und Herunterskalieren)
- Computeskalierung: Dies bezieht sich auf das Ändern der Computeebene Ihres flexiblen MySQL-Servers. Azure bietet mehrere Computeebenen für verschiedene Arten von Workloads:
- Burstfähig: Geeignet für Umgebungen mit zeitweiligen CPU-Auslastungsspitzen, die keine kontinuierliche volle CPU-Leistung erfordern.
- Universell: Konzipiert für eine breite Palette von Anwendungen und bietet ein ausgewogenes Verhältnis von Compute-, Speicher- und E/A-Ressourcen.
- Unternehmenskritisch: Bietet die höchste Leistung für Datenbanken mit leistungsstärkeren CPUs und schnellerer E/A und ist für Hochtransaktions- und latenzarme Workloads geeignet.
- Arbeitsspeicher- und CPU-Zuordnung: Je nach ausgewählter Ebene können Sie die Anzahl der virtuellen Kerne und die Menge des verfügbaren RAM für Ihre Datenbank skalieren. Dies wirkt sich direkt auf die Möglichkeit aus, größere oder komplexere Abfragen zu verarbeiten, und ermöglicht eine höhere Anzahl gleichzeitiger Verbindungen.
- Computeskalierung: Dies bezieht sich auf das Ändern der Computeebene Ihres flexiblen MySQL-Servers. Azure bietet mehrere Computeebenen für verschiedene Arten von Workloads:
- Horizontale Skalierung
- Azure Database for MySQL kann horizontal skaliert werden, indem Lesereplikate hinzugefügt werden, um Lesedatenverkehr auf mehreren Servern zu verteilen und die Leseleistung zu verbessern sowie gleichzeitig die Verfügbarkeit des primären Servers für Schreibvorgänge zu gewährleisten. Die horizontale Skalierung ermöglicht es Ihrer Datenbank, mehr Abfragelast zu verarbeiten und die Reaktionsfähigkeit der Anwendung zu erhöhen.
- Speicherskalierung
- Dynamische Speicherskalierung: Mit Azure Database for MySQL können Sie die Speicherkapazität ohne Downtime erhöhen. Sie können mit einer kleineren Zuordnung beginnen und diese bei wachsenden Daten skalieren.
- Automatische Vergrößerung: Diese Funktion erhöht die Speichergröße automatisch, bevor sie das Kapazitätslimit erreicht, wodurch Unterbrechungen im Zusammenhang mit Speicherbeschränkungen verhindert werden.
IOPS für Autoskalierung
Autoskalierung-IOPS (E/A-Vorgänge pro Sekunde) ist eine Funktion, die den E/A-Durchsatz basierend auf der aktuellen Workload dynamisch anpasst. Dies ist besonders nützlich für unvorhersehbare oder spitzenanfällige Workloadmuster, da sichergestellt wird, dass die Datenbank plötzliche Auslastungssteigerungen ohne manuelle Eingriffe verarbeiten kann.
- IOPS-Skalierung basierend auf der Last: Wenn die Arbeitsauslastung erhöht und mehr E/A-Durchsatz erforderlich ist, erhöht die Autoskalierungsfunktion automatisch die IOPS-Grenze bis zum maximal zulässigen Wert in der ausgewählten Computeebene. Umgekehrt werden IOPS in Zeiträumen geringer Aktivität reduziert, um die Kosten zu minimieren.
- Kosteneffizienz: Indem Sie IOPS basierend auf der tatsächlichen Nutzung automatisch anpassen, zahlen Sie nur für die von Ihnen verwendeten IOPS, anstatt unnötig viele Ressourcen bereitzustellen, um Spitzenlasten zu verarbeiten, die nur sporadisch auftreten könnten.
Bewährte Methoden zum Skalieren
Um Azure Database for MySQL effektiv zu skalieren, überwachen Sie Leistungsmetriken mithilfe von Azure Monitor, richten Sie kritische Warnungen ein, planen Sie zukünftiges Wachstum, indem Sie Nutzungsmuster überprüfen und die Skalierbarkeit während der Spitzenzeiten testen. So stellen Sie eine reibungslose Leistung unter erhöhter Auslastung sicher.
Indem Sie diese Skalierungsmechanismen verstehen und nutzen, können Sie sicherstellen, dass flexible Azure Database for MySQL-Server immer effizient ausgeführt werden und sich sowohl an die aktuellen als auch zukünftige Anforderungen Ihres Unternehmens anpassen.
Konfigurieren und Optimieren des Engineverhaltens
Um Servervariablen und Parameter in Azure Database for MySQL auf einfache Weise zu konfigurieren und anzupassen, können Sie das Azure-Portal, die Azure CLI oder die REST-API verwenden, um Einstellungen wie Abfragecachegröße, Verbindungstimeouts und Speicher-Engineeinstellungen anzupassen und so optimale Leistung und Verhaltensweisen für Ihre spezifische Workload sicherzustellen.
Als Nächstes sollten Sie überlegen, ob Azure Database for MySQL die Anforderungen Ihrer Organisation und der entsprechenden Anwendungen und Datenbank-Workloads erfüllt.