MySQL

MySQL wurde 1994 als Clone für mSQL entwickelt. MySQL ist ein Datenbankmanagementsystem, dass Daten in Tabellen verwaltet. Von diesen Tabellen kann man mehrere anlegen und sie können von einem unterschiedlichen Typ sein. Die maximale Größe einer Tabelle ist nicht festgeschrieben, sie wird nur durch das Betriebssystem begrenzt. Aktuell wird die Version 5.0 verwendet, diese ermöglichst es Ihnen, anders wie bei der ehemaligen 3er Version, jetzt mehr Sprachumfang zu nutzen (z. B. View-Definitionen). Für den Zugriff auf die Daten bietet MySQL einige Speicher-Engines an. Die Engines sind jeweils auf ein ganz bestimmtes Einsatz-Szenario optimiert. Natürlich besteht auch die Möglichkeit selbst ein solches Speicher-Enigne zu schreiben. Weiter besteht auch noch die Option seine geschriebenen Engines zu den bestehenden hinzuzufügen oder eine Anwendung nur über ihr selbstgeschriebenes Engine zu betreiben. Die Administration (Verwaltung) von MySQL übernehmen Sie über den mitgelieferten Kommandozeilen-Client (Kommandos mysql und mysqladmin). Auch die Zukunft wird MySQL gehören, eine Version 6.0 ist schon in Arbeit und wird eine neue eigenständige Speicherengine mit sich bringen, die dann den Namen Falcon tragen soll. Diese Speicherengine ist dann direkt im Lieferumfang enthalten. MySQL beherbergt folgende tools in sich:

  • mysqlimport kann als Ersatz für 'LOAD DATA INFILE …' verwendet werden. Durch Angabe von Parametern können sich Benutzer anmelden und das Verhalten des Programms steuern.
  • mysqldump kann als Ersatz für 'SELECT * INTO OUTFILE' verwendet werden. Des Weiteren kann die Tabellenstruktur als Dump ausgegeben werden. Durch Angabe von Parametern können sich Benutzer anmelden und das Verhalten des Programms steuern.
  • perror zeigt zu Fehlercodes erweiterte Informationen an. Als Parameter wird beim Programmstart der Errorcode benötigt.
  • mysqlshow gibt Metadaten zu Datenbanken, Tabellen oder einzelnen Tabellenspalten aus.
  • DBDesigner 4 ist ein unter der GPL entwickeltes Werkzeug für die Softwareentwicklung mit Strukturiertem Design. Softwareentwickler werden beim Design und der Implementierung von Datenbanken unterstützt. Der DB Designer ist auf die Modellierung von MySQL-Datenbanken spezialisiert.
  • MySQL Workbench ist der Nachfolger von DBDesigner 4. Die Modelle vom DBDesigner können als XML-Struktur importiert werden.
Egal ob Einsteiger in die Datenbanktechnologie oder ein erfahrener Entwickler oder Datenbankadministrator sind - MySQL bietet Ihnen eine umfassende Auswahl an zertifizierter Software, Unterstützungs- und Beratungsleistungen sowie Schulungen, um Ihren Erfolg sicherzustellen. Selbst OBI benutzt MySQL und zwar verwalten sie damit ihr Warenwirtschaftssystem. Somit werden die zentralen Prozesse der einzelnen Märkte ein einer modernen Software abgebildet. Sämtliche Stamm- und Bewegungsdaten eines Marktes werden in einer zentralen MySQL-Datenbank vorgehalten.

Nun noch etwas mehr zu der Geschichte von MySQL. Es wurde zunächst als Clone für mSQL entwickelt, um Datenbanken des maskengesteuerten Datenbanksystems UNIREG in Web-Anwendungen verfügbar zu machen. (UNIREG war 1979 von Monty entwickelt und ca. 1986 in die Programmiersprache C umgeschrieben worden, damit es auch unter UNIX-System lief.) MySQL war daher sowohl zu mSQL als auch UNIREG voll kompatibel. Die Software wurde sofort unter der Versionsnummer 3.21 veröffentlicht, um zu signalisieren, dass sie auf einem Kern basiert, der schon eine lange Geschichte hat. Sie war von Anfang an für große Datenmengen und sehr gute Performance ausgelegt, teils auf Kosten von Stabilität und Verfügbarkeit.
Die Menge der Eigenschaften hingegen war zunächst beschränkt. So gab es nur wenige Tabellentypen und keine Transaktionen. Typischerweise werden neue Eigenschaften auf Wunsch der Anwender implementiert, die dadurch ein sehr großes „Mitspracherecht“ haben.

Bereits mit der Version 3.23 verfügte MySQL über zwei Tabellentypen mit Transaktionen, wobei der eine (InnoDB) den Kriterien ACID genügt. Alle Operationen, die allgemeine SQL-Eigenschaften betreffen, sind für alle Tabellentypen gleich, während die Eigenschaften der Tabellentypen aufgrund der unterschiedlichen Architektur sehr verschieden sein können. So besitzt der Typ MyISAM bereits seit der frühen Version 3.23 eine sehr leistungsfähige Volltext-Suche, die beim Typ InnoDB (noch) nicht implementiert ist. Mit dem MySQL Cluster steht ein Tabellentyp zur Verfügung, bei dem die gesamte Datenbank im Arbeitsspeicher vorgehalten werden kann. Es wird synchrone Replikation zwischen allen Clusterknoten und Transaktions-Verarbeitung unterstützt, jedoch keine Volltextsuche.

Die Version 4.0 wurde im März 2003 freigegeben. Sie erlaubt die Nutzung von Unions und führte einen Query Cache ein, der die Ergebnisse häufig benutzter SQL-Anfragen zwischenspeichert.

Die Version 4.1 wurde im Oktober 2004 freigegeben. Sie bietet eine Datenspeicherung in unterschiedlichen Zeichensätzen pro Tabelle an. Es wird unter anderem auch Unicode unterstützt. Die Verwendung von Unterabfragen (Subqueries/Subselects) wird ermöglicht.

Die Version 5.0 wurde im Oktober 2005 freigegeben. Sie unterstützt alle im SQL3-Standard definierten Objekttypen:
  • Datenbank
  • Tabelle
  • View (neu in Version 5)
  • Alias
  • Index
  • Trigger (neu in Version 5)
  • Stored Procedure (neu in Version 5)
  • User Defined Function (neu in Version 5)