MySQL-Umgebung

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.

MySQL-Varianten

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.

MySQL Community Edition und Enterprise Edition

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.

MariaDB

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:

  • Einführung neuer Speicher-Engines wie ColumnStore für Analysen, S3-Engine zum Archivieren von Tabellen in AWS S3, Aria Engine, was eine optimierte Version von MyISAM ist, MyRocks für Anwendungen mit hoher Komprimierung und höherem Traffic, Cassandra, SphinxSE und mehr
  • Möglichkeit zur parallelen Ausführung von Abfragen
  • Thread-Pooling, das in MySQL Enterprise Edition, aber nicht in der Community Edition verfügbar ist
  • Kostenlos zur Verwendung des Routers namens MaxScale
  • Eine Lösung mit mehreren übergeordneten Elementen: Galera-Cluster

Percona

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:

  • Verbesserte InnoDB-Volltextsuche, verbesserte Speicher-Engine und verbesserter Flushing-Mechanismus, mehr Hash-/Digest-Funktionen, Unterstützung für die im InnoDB-Tablespace integrierte Verschlüsselung, binäre Logs und temporäre Dateien
  • Einführung eines parallelen Double-Write-Puffers zur Optimierung
  • ein XtraBackup-Tool für Hot Backups mit vollständigen und inkrementellen Backup-Optionen
  • Unterstützung für MyRocks- und Toku-Speicher-Engines
  • Erweiterte Instrumente zur Fehlerbehebung wie pro Tabelle, pro Index, pro Client, pro Nutzer und pro Thread-Leistungszähler
  • PAM-Authentifizierung und Audit-Logging, die in der Enterprise Edition von MySQL, aber nicht in der Community Edition verfügbar sind
  • Pt-Toolkit, entwickelt von Percona, einem Dienstprogramm, das viele Optionen zur Verwaltung von MySQL bietet

Für welche Sorte sollten Sie sich entscheiden?

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.

MySQL in der Cloud

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.

Hochverfügbarkeits- (HA) oder Clusterlösungen

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:

  • Gruppenreplikation und InnoDB-Cluster von MySQL

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

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.

  • Kontinuierliches Tungsten 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 (früher ClustrixDB)

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

ScaleArc ist eine Load Balancing-Software für Datenbanken, die Hochverfügbarkeit bietet. Weitere Informationen finden Sie unter ScaleArc.

  • Vitess

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.

  • Tools für Standardreplikation bei Failover: MHA, ProxySQL, MaxScale und Orchestrator
  • Cloudbasierte Dienste wie Google Cloud, Oracle, AWS und Azure bieten interne HA für MySQL.

MySQL-Tools

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:

  • GUI-basiert: MySQL Workbench, HeidiSQL, DBeaver, dbForge Studio, Navicat, SQLyog
  • CLI-basiert: Percona-Toolkit, Ghost

Details zu beliebten Tools:

  • MySQL Workbench: Eigentum von MySQL, verfügbar in der Community Edition und Enterprise Edition mit erweiterten Funktionen
  • Percona Monitoring and Management (PMM): von Percona entwickelt und kostenlos verfügbar
  • HeidiSQL: von Ansgar Becker entwickelt und kostenlos verfügbar
  • Percona Toolkit: von Percona entwickelt und kostenlos verfügbar
  • Toad: gehört zu Quest und ist ein kostenpflichtiges Tool
  • phpMyAdmin: das kostenlose webbasierte Open-Source-Tool zur Verwaltung von MySQL
  • DBeaver: von der Open-Source-Community entwickelt, verfügbar in der Community Edition und der Enterprise Edition mit erweiterten Funktionen, die von DBeaver gepflegt werden
  • Navicat: gehört CyberTech und ist ein kostenpflichtiges Tool
  • SQLyog: gehört Webyog und ist auch ein kostenpflichtiges Tool

Weitere wichtige Monitoringtools mit Diagrammen zur Analyse von Fehlerraten, Traffic und Abfragemustern mit Benachrichtigungsmechanismen sind New Relic, Zabbix, Cortex, Prometheus und Grafana.

MySQL mit Containern/Kubernetes ausführen

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.

Möchten Sie MySQL ausprobieren?

Google Cloud bietet ein vollständig verwaltetes MySQL-Angebot, Cloud SQL for MySQL.

Lernen wie Cloud SQL for MySQL unterstützt Sie bei Innovationen. Dokumentation ansehen

Gleich loslegen

Profitieren Sie von einem Guthaben über 300 $, um Google Cloud und mehr als 20 „Immer kostenlos“-Produkte kennenzulernen.

Google Cloud
  • ‪English‬
  • ‪Deutsch‬
  • ‪Español‬
  • ‪Español (Latinoamérica)‬
  • ‪Français‬
  • ‪Indonesia‬
  • ‪Italiano‬
  • ‪Português (Brasil)‬
  • ‪简体中文‬
  • ‪繁體中文‬
  • ‪日本語‬
  • ‪한국어‬
Console
Google Cloud