MySQL ist eine der beliebtesten relationalen Open-Source-Datenbanken. Ein Grund für ihre Beliebtheit ist die Fähigkeit, die Datenbank auf verschiedene Arten zu hosten und zu verwalten, die den Arbeitslastanforderungen eines Nutzers entsprechen. Nutzer können festlegen, ob die Datenbank lokal, in virtuellen Maschinen in der Cloud selbst verwaltet wird oder ob das vollständig verwaltete Angebot eines Cloud-Anbieters verwendet wird. In diesem Artikel geht es um die selbstverwaltete MySQL-Option und die vollständig verwaltete Lösung Cloud SQL for MySQL von Google Cloud. Die Vor- und Nachteile der einzelnen Optionen werden erläutert.
Bei der selbstverwalteten MySQL-Option ist der Nutzer in den meisten Fällen für einen Großteil der Aktivitäten verantwortlich, die mit der Einrichtung, Installation, Konfiguration und Wartung der Datenbank verbunden sind. Auch Arbeiten am Betriebssystem, Netzwerken, Speicher, VM-Instanz und an der Hardware, auf der die Datenbankinstanz und der Server gehostet werden, gehören dazu. Einige dieser Aufgaben wie Hardware-, VM-Instanz-, Speicher-, Netzwerk- und Betriebssystemaufgaben können mithilfe eines Cloud-Dienstanbieters wie Google Cloud einfacher ausgeführt werden. Unabhängig davon, ob ein Nutzer eine Datenbank lokal oder in der Cloud selbst verwaltet, ist er für einige wichtige Datenbankverwaltungsaufgaben verantwortlich, die für einen reibungslosen Systembetrieb erforderlich sind. Diese Aufgaben sind unten aufgeführt.
Das folgende Diagramm zeigt die Verantwortung des Nutzers im Falle der Option der selbstverwalteten Einrichtung. Obwohl die Selbstverwaltung in Google Cloud einige Aufgaben im Zusammenhang mit Hardware, Computing, Netzwerken und Speicher verringert, sind die Aufgaben für die Verwaltung der verbleibenden Ebenen des Stacks weiterhin vom Nutzer zu erfüllen. Der Datenbankadministrator und der Anwendungsentwickler müssen genügend Zeit, Energie und Ressourcen in die Verwaltung von MySQL investieren.
Cloud SQL ist ein vollständig verwalteter Datenbankdienst, der eine einfache Konfiguration, Wartung, Verwaltung und Administration von MySQL-, PostgreSQL- und SQL Server-Datenbanken in Google Cloud bietet. Cloud SQL verwaltet alle Aspekte von Hardware, Netzwerken, Betriebssystem, Sicherheit, Monitoring, Wartung, Verfügbarkeit und Skalierung der MySQL-Datenbank. All diese Verantwortlichkeiten sind für die Nutzer nicht erkennbar, sodass sie sich auf die Anwendungsentwicklung und die Bereitstellung von Mehrwert für ihre Kunden konzentrieren können.
Das Diagramm unten ähnelt dem Diagramm oben, in dem die Aufgaben für die Verwaltung der verschiedenen Ebenen der MySQL-Datenbank dargestellt sind. Der einzige Unterschied besteht darin, dass alle Aufgaben, die Cloud SQL im Namen des Nutzers verwaltet, blau dargestellt sind.
Abgesehen von der Verwaltung der vielen oben beschriebenen Aufgaben bietet Cloud SQL weitere Features und Lösungen, die in einer selbstverwalteten Umgebung nicht nativ verfügbar sind. Einige der wichtigsten Features von Cloud SQL sind unten aufgeführt.
Zuverlässigkeit: Die Sicherung und Wiederherstellung sind die wichtigsten Aktivitäten innerhalb der Datenbankverwaltung. Cloud SQL bietet automatische Sicherungen und On-Demand-Sicherungen, mit denen die Datenbank bei Beschädigungen, Katastrophen oder unbeabsichtigten Datenänderungen zu einem bestimmten Zeitpunkt in der Vergangenheit wiederhergestellt werden kann.
Verfügbarkeit: Cloud SQL bietet Hochverfügbarkeit, da mehrere Server mit automatisierter Failover-Funktion instanziiert werden und die Datenbank über mehrere Zonen hosten. So wird Hochverfügbarkeit beim Ausfall einer VM oder eines Rechenzentrums hergestellt. Cloud SQL gewährleistet eine Verfügbarkeit von über 99,95 % und zwar weltweit.
Neben dem Hochverfügbarkeitsfeature bietet Cloud SQL ein rund um die Uhr verfügbares SRE-Team (Site Reliability Engineering), das für die Zuverlässigkeit der Cloud SQL for MySQL-Datenbankinstanzen in Google Cloud verantwortlich ist.
Regionenübergreifende Lesereplikate sind ein weiteres Feature, das im Falle eines Fehlers als Mechanismus zur Notfallwiederherstellung verwendet werden kann. Nutzer können die betroffene Datenbank schnell und mit minimaler Auswirkung auf das Unternehmen in einem anderen Standort (Region) aufrufen.
Skalierbarkeit: Cloud SQL bietet die Erstellung von MySQL-Lesereplikaten, z. B. schreibgeschützte MySQL-Instanzen in derselben Region oder in Remote-Regionen, die die Verarbeitung von Anfragen von den Replikaten sowie von der primären Instanz ermöglichen und somit eine bessere Leseleistung bieten. Lesereplikate können auch für die Berichterstellung verwendet und nach Erfüllung der geschäftlichen Anforderungen gelöscht werden.
Mit Cloud SQL können Sie Ressourcen (CPU, Arbeitsspeicher und Speicher) hochskalieren und die Ressourcen auf der MySQL-Instanz mit minimaler Ausfallzeit herunterskalieren. Bei einer selbstverwalteten Einrichtung sind diese komplizierten Aktivitäten mit erheblichem Aufwand, Fachwissen und Planung verbunden.
Sicherheit: Cloud SQL for MySQL-Datenbankserver befinden sich in gesicherten Google Cloud-Rechenzentren. So wird höchste Sicherheit geboten. Darüber hinaus bietet Google Cloud private Verbindungen mit Virtual Private Cloud und nutzergesteuerten Netzwerkzugriff mit Firewallschutz, sodass Nutzerdatenbankserver außerhalb der Reichweite böswilliger Akteure bleiben.
Ein weiterer Aspekt der Sicherheit ist die Einhaltung von Sicherheitsvorschriften. Cloud SQL erfüllt viele anerkannte Vorschriften wie SSAE 16, ISO 27001, PCI DSS und HIPAA.
Cloud SQL bietet die Möglichkeit, Nutzer und deren Zugriff auf die Datenbank über die IAM-Integration zu verwalten. Diese Integration verwaltet die Autorisierung und Authentifizierung für Nutzer von Google Cloud und bietet einen detaillierten Zugriff auf bestimmte Google Cloud-Ressourcen, wodurch nicht autorisierter Zugriff auf die Datenbank verhindert wird. Außerdem erleichtert Cloud SQL die Identitäts- und Zugriffssteuerung durch vordefinierte Rollen zur Steuerung des Zugriffs auf Ihre Cloud SQL-Ressourcen.
Ein weiteres Sicherheitsfeature von Cloud SQL ist die Verschlüsselung von ruhenden Daten und Daten während der Übertragung, damit kein unbefugter Nutzer auf Nutzerdaten zugreifen kann.
Cloud SQL bietet eine Funktion zur Passwortüberprüfung für Datenbanknutzer, mit der Kunden eine Passwortrichtlinie für die Komplexität von Passwörtern definieren können, sowie Mindestlänge und Passwortänderungsintervall und Verwendung des Benutzernamens im Passwort auf Instanzebene. Kunden können auch Richtlinien für die Ablaufzeit von Passwörtern, die Anzahl fehlgeschlagener Versuche und die Anforderungen an alte Passwörter ändern. Diese Features in Cloud SQL bieten Best Practices für die Sicherheit und reduzieren das Risiko nicht autorisierter Zugriffe auf kritische Daten.
Cloud SQL bietet außerdem die Möglichkeit, mit einem Audit-Log-Plug-in Aktionen und Vorgänge in der MySQL-Datenbank zu prüfen. Audit-Logs geben Aufschluss darüber, wer welche Aktion an welchem Objekt vorgenommen hat. Mit der Datenbankprüfung können Sie bestimmte Nutzeraktionen in der Datenbank verfolgen, z. B. Tabellenaktualisierungen, Leseabfragen, Berechtigungen für Nutzerberechtigungen usw.
Beobachtbarkeit: Cloud SQL bietet verschiedene Monitoring-Lösungen und eine zunehmende Liste vordefinierter Messwerte, die Informationen zum Status der Datenbank bereitstellen. Nutzer können mithilfe der Messwerte Benachrichtigungen erstellen, um Administratoren über den Zustand der Datenbank zu informieren.
Cloud SQL bietet auch Features wie Abfragestatistiken und Empfehlungen, mit denen Nutzer Fehler beheben und Leistungsengpässe einer Abfrage oder Arbeitslast erkennen können. In einer selbstverwalteten MySQL-Umgebung ist es schwierig, diese Features zu replizieren.
Einbindung: Cloud SQL bietet eine einfache Netzwerkverbindung und Einbindung in andere Dienste in Google Cloud, z. B. Google Kubernetes Engine, Compute Engine und Cloud Run, die die Entwicklung tief integrierter Lösungen erleichtern. Cloud SQL bietet außerdem native Einbindung in BigQuery und Looker, die für die analytische Verarbeitung der Daten verwendet werden können, die in Cloud SQL vorhanden sind.
Patching: Als verwalteter Dienst aktualisiert Cloud SQL die Instanzen automatisch, damit die zugrunde liegende Hardware und das Betriebssystem funktionieren und zuverlässig, leistungsfähig, sicher und aktuell sind. Die meisten dieser Aktualisierungen werden durchgeführt, während Ihre Cloud SQL-Instanz ausgeführt wird. Bestimmte Systemupdates erfordern jedoch möglicherweise eine kurze Dienstunterbrechung, für die Nutzer Wartungsfenster für die Upgradeaktivität definieren können.
Versionsupgrades: Cloud SQL bietet auch einen automatisierten Prozess des Upgrades. (MySQL-Version). Nutzer können auch ein Upgrade für die Hauptversion durchführen, indem sie die Daten auf eine Instanz einer höheren Version migrieren.
Vorteile
Nachteile
Vorteile
Nachteile
Profitieren Sie von einem Guthaben über 300 $, um Google Cloud und mehr als 20 „Immer kostenlos“-Produkte kennenzulernen.