MySQL ist laut DB-Engines eine der beliebtesten Open-Source-Datenbanken der Welt. Ihre erste Version wurde 1995 veröffentlicht und wurde seitdem kontinuierlich weiterentwickelt, was sie auch heute noch zu einer sehr beliebten relationalen Datenbank macht. MySQL verdankt seinen Erfolg einer Umgebung, die aus einer Vielzahl von Open-Source- und kommerziellen Versionen besteht. MySQL wird sowohl lokal als auch in der Cloud weit verbreitet. Wichtige Cloud-Dienstanbieter für MySQL sind Google Cloud, Oracle, Amazon Web Services (AWS) und Microsoft Azure.
Heute ist eine Vielzahl von MySQL-Varianten auf dem Markt verfügbar, die MySQL um Funktionen für Optimierung, Skalierbarkeit, Clustering, Notfallwiederherstellung und vieles mehr erweitern. Die beiden Hauptdatenbanken, die durch eine Abspaltung von MySQL erstellt wurden und derzeit aktiv sind, sind MariaDB und Percona Server for MySQL.
Oracle entwickelt und verwaltet sowohl die MySQL Community Edition als auch die Enterprise Edition. Die Enterprise Edition umfasst technischen Support von Oracle und bietet einige zusätzliche Features wie MySQL Enterprise Monitoring, PAM-Authentifizierung, erhöhte Sicherheit, verbesserte Leistung und Skalierbarkeit, Unternehmenssicherung, Unternehmensprüfung, Unternehmensclusterverwaltung, Thread-Pooling und mehr.
Die Gründer von MySQL erstellten später MariaDB mit der Garantie, dass sie weiterhin als Open Source verfügbar bleibt. Einige Features in MySQL wurden in MariaDB früher als in MySQL veröffentlicht, z. B. JSON-Unterstützung, Replikation für mehrere Quellen und Replikation von parallelen Threads. Einige der wichtigsten Vorteile von MariaDB gegenüber MySQL sind:
Ein Unternehmen namens Percona entwickelt und pflegt Percona Server for MySQL. Percona hat im Laufe der Jahre viel an MySQL gearbeitet, um es zu optimieren und auch neue Funktionen einzuführen. Einige Hauptvorteile der Verwendung von Percona gegenüber MySQL sind:
Die Anforderungen einer Anwendung bestimmen, welche Datenbank ausgewählt wird, da die verschiedenen Datenbanken einzigartige Merkmale haben, die auf bestimmte Anwendungsfälle ausgerichtet sind. Wenn Ihre Anwendung beispielsweise Analysen benötigt, können Sie entweder Clickhouse in Percona oder Columnstore in MariaDB verwenden. In MySQL ist eine solche Option jedoch nicht verfügbar. Wenn Sie die Threadpool-Funktion verwenden möchten, die in der Community-Version von MySQL nicht verfügbar ist, müssen Sie entweder Enterprise MySQL oder das Open-Source-Threadpool-Feature in Percona und MariaDB auswählen.
Eine Cloud-Datenbank ist eine Datenbank, die in einer öffentlichen oder Hybrid-Cloud-Umgebung ausgeführt werden kann, um Daten innerhalb einer Organisation zu organisieren, zu speichern und zu verwalten. Cloud-Datenbanken können als verwalteter Database-as-a-Service (DBaaS) angeboten oder auf einer cloudbasierten virtuellen Maschine (VM) bereitgestellt und von einem internen IT-Team selbst verwaltet werden. Wichtige Cloud-Anbieter für verwaltetes MySQL sind unter anderem:
Google Cloud
Google Cloud bietet sowohl eine von einer virtuellen Maschine gehosteten Version von MySQL, die ein Nutzer selbst verwalten muss, als auch Cloud SQL, ein vollständig verwaltetes Angebot, an.
Amazon Web Services (AWS)
Amazon Web Services (AWS) bietet eine VM-gehostete Option für MySQL und eine vollständig verwaltete Lösung in Form von RDS. AWS bietet auch Aurora, ein MySQL-kompatibles Angebot von MySQL mit zusätzlichen Funktionen.
Azure SQL-Datenbank
Azure bietet zwei Bereitstellungsmodelle für MySQL, die denen anderer Cloud-Anbieter ähneln: eine Option für virtuelle Maschinen in Form von MySQL auf Azure-VMs und die vollständig verwaltete Version in Form von Azure Database for MySQL.
Oracle Cloud
Oracle bietet die Möglichkeit, MySQL auf seinen virtuellen Maschinen zu hosten. Außerdem wurde ein neues, vollständig verwaltetes Angebot mit dem Namen MySQL HeatWave-Datenbankdienst entwickelt.
Digital Ocean
Digital Ocean hat außerdem die Möglichkeit, MySQL auf seinen virtuellen Maschinen zu hosten. Es bietet auch eine vollständig verwaltete Hosting-Option für MySQL.
Viele Unternehmen haben an der Erweiterung von MySQL gearbeitet und Produkte entwickelt, die Failover und Hochverfügbarkeit für die MySQL-Datenbank bieten. Einige sind direkte Tools, die mit MySQL verwendet werden, und andere sind Änderungen am MySQL-Quellcode, die zur Erstellung separater Produkte führen, die Hochverfügbarkeit oder Multi-Parent-Cluster ermöglichen. Zu den beliebten MySQL-HA- und Skalierbarkeitslösungen gehören:
Ein InnoDB-Cluster besteht aus mindestens drei MySQL-Serverinstanzen und bietet Hochverfügbarkeits- und Skalierungsfunktionen. InnoDB-Cluster bestehen aus MySQL Shell, MySQL Router und MySQL-Servern mit Gruppenreplikation. Weitere Informationen finden Sie in Kapitel 23: InnoDB-Cluster.
Percona XtraDB Cluster ist eine synchrone Clustering-Lösung, die Hochverfügbarkeit, parallele Replikation und Skalierbarkeit bietet. Percona XtraDB Cluster enthält das ProxySQL-Administratortool, das Percona XtraDB-Clusterknoten mit ProxySQL automatisch konfiguriert. Weitere Informationen finden Sie unter Percona XtraDB Cluster.
MariaDB Galera Cluster ist ein praktisch synchroner multiprimärer Cluster für MariaDB, der Hochverfügbarkeits- und Skalierbarkeitsfeatures bietet. Es basiert auf MariaDB-Servern und der Galera-wsrep-Anbieterbibliothek. Es bietet Features wie automatischen Knotenzusammenführung, echte parallele Replikation, multiprimäre Topologie und mehr. Weitere Informationen finden Sie unter MariaDB-Galera-Cluster.
Der Tungsten-Cluster bietet ein einzelnes, einfaches Paket mit allen Kernkomponenten, die zum Bereitstellen und Verwalten der MySQL-Datenbank als Cluster erforderlich sind. Es bietet eine Geo-Clustering-Lösung. Es besteht aus Tungsten Manager, Replikator, Connector, Datenknoten und Dashboard. Weitere Informationen finden Sie unter Continuent Tungsten Cluster.
MariaDB Xpand bietet ACID-konformes verteiltes SQL, Hochverfügbarkeit, Fehlertoleranz, Schreibskalierung und horizontale Skalierung für Transaktionsarbeitslasten. MariaDB Xpand ist eine Komponente von MariaDB Enterprise. Sie besteht aus einem oder mehreren MaxScale-Knoten und drei oder mehr Xpand-Knoten. Weitere Informationen finden Sie unter MariaDB Xpand.
ScaleArc ist eine Load Balancing-Software für Datenbanken, die Hochverfügbarkeit bietet. Weitere Informationen finden Sie unter ScaleArc.
Vitess verfügt über integrierte Fragmentierungsfunktionen, mit denen Sie Ihre Datenbank erweitern können, ohne Ihrer Anwendung Fragmentierungslogik hinzuzufügen und so Hochverfügbarkeit und Skalierbarkeit zu ermöglichen. Weitere Informationen finden Sie unter Vitess.
MySQL-Tools gibt es in allen Formen: webbasierte Befehlszeilen und grafische Benutzeroberfläche (GUI). MySQL bietet eine breite Palette von Open-Source- und kommerziellen Tools für Datenbankdesign, -entwicklung, -verwaltung, -sicherung, -leistungsüberwachung und -benachrichtigungen.
Einige beliebte MySQL-Monitoringtools mit GUI sind:
Percona Monitoring and Management, Prometheus, MySQL Enterprise Monitor, New Relic, SolarWinds, HeidiSQL, AppDynamics, Datadog und SQLyog.
Einige beliebte Verwaltungs-, Entwicklungs- oder Dienstprogrammtools sind:
Details zu beliebten Tools:
Weitere wichtige Monitoringtools mit Diagrammen zur Analyse von Fehlerraten, Traffic und Abfragemustern mit Benachrichtigungsmechanismen sind New Relic, Zabbix, Cortex, Prometheus und Grafana.
Heutzutage wird es immer beliebter, eine Datenbank über einen Kubernetes-Cluster mit Docker-Container-Images auszuführen. Sie erleichtert die Verwaltung der Datenbank mithilfe von Code, einfache und schnelle Bereitstellungen, Datenschutz, Isolierung von der Anwendung und Nutzung gemeinsam genutzter Ressourcen. Grundsätzlich können alle Vorteile von Docker vom Datenbanksystem genutzt werden. Es gibt auch bereits einige Kubernetes-Operatoren für MySQL. In diesem Bereich gibt es jedoch viel Raum für Verbesserungen.
Lernen wie Cloud SQL for MySQL unterstützt Sie bei Innovationen. Dokumentation ansehen
Profitieren Sie von einem Guthaben über 300 $, um Google Cloud und mehr als 20 „Immer kostenlos“-Produkte kennenzulernen.