MySQL

Hinter fast jeder Website mit Anmeldung, Warenkorb oder Redaktionsbereich liegt eine Datenbank, und häufig ist es diese. MySQL ist so verbreitet, dass es meist keine Entscheidung mehr ist, sondern eine Voreinstellung.
Mitarbeiter*innen einer Agentur besprechen, wie sie MySQL bei der Umsetzung des Kundenprojekts einbringen können und schauen gemeinsam auf einen Laptop.
© mavoimages

Was MySQL ist

MySQL ist ein quelloffenes Datenbankmanagementsystem, das Daten in Tabellen aus Zeilen und Spalten ablegt und über die Abfragesprache SQL zugänglich macht. Beziehungen zwischen Tabellen werden über Schlüsselfelder hergestellt, weshalb es zur Gruppe der relationalen Systeme zählt. Die erste Fassung erschien im Mai 1995, und seit der Übernahme von Sun Microsystems im Jahr 2010 liegt die Weiterentwicklung in den Händen von Oracle.

Das System besteht aus einem Serverdienst, der im Hintergrund läuft, und Programmen, die sich darauf verbinden. Eine Anwendung schickt eine Abfrage, der Dienst prüft Berechtigungen, sucht die Daten und liefert das Ergebnis zurück. Die Datenbank kennt dabei die Anwendung nicht, was denselben Bestand für mehrere Programme gleichzeitig nutzbar macht. Zugriffsrechte werden deshalb in der Datenbank vergeben und nicht in der Anwendung, sonst umgeht ein zweites Programm die Regeln des ersten.

MySQL Einsatzgebiete

Der Schwerpunkt liegt bei Webanwendungen. Redaktionssysteme, Shops, Portale und Fachanwendungen mit überschaubarer Datenmenge laufen darauf, in der PHP-Entwicklung meist zusammen mit dem Webserver auf derselben Maschine. Als Open-Source-Datenbank fällt keine Lizenzgebühr an, was den Einstieg günstig macht und die Verbreitung erklärt. Für Auswertungen über sehr große Datenmengen oder für stark verteilte Systeme greifen Projekte dagegen eher zu anderen Ansätzen. Die Grenze verläuft nicht bei einer festen Zeilenzahl, sondern dort, wo Abfragen über viele verknüpfte Tabellen gleichzeitig laufen sollen.

Speicher-Engines und Abgrenzung

Eine Besonderheit ist die Trennung zwischen Abfrageschicht und Speicherverfahren. Je Tabelle lässt sich festlegen, wie die Daten physisch abgelegt werden, mit unterschiedlichen Eigenschaften bei Transaktionen, Sperren und Wiederherstellung. Wer eine Tabelle mit einem Verfahren ohne Transaktionsunterstützung anlegt, verliert im Fehlerfall die Zusicherung, dass eine Buchung entweder vollständig oder gar nicht stattfindet. Diese Wahl fällt beim Anlegen und wird selten hinterfragt. Zur Einordnung neben anderen Systemen dient die relationale Datenbank.

MySQL Vorteile und Grenzen

Für die verbreiteten Vorteile stehen Verfügbarkeit, geringe Einstiegshürde, breite Werkzeugunterstützung und viel verfügbares Wissen. Dem stehen Grenzen gegenüber, etwa bei sehr komplexen Abfragen und bei einzelnen Erweiterungen, die andere Systeme von Haus aus mitbringen. Auch die Prüfung von Datentypen fällt schwächer aus als anderswo, was falsche Werte eher durchgehen lässt. Die häufigste Ursache für Langsamkeit ist keinen Systemwechsel wert, denn meist fehlt schlicht ein passender Index. Wer bei jeder langsamen Abfrage über die Datenbank nachdenkt, sieht sich zuerst das Datenmodell an. Genau dort entscheidet sich die spätere Leistung, weshalb die Datenbankentwicklung vor der Auswahl des Systems steht.

Aktuelle Themen