MySQL 5.1 ist fertig

Im April 2008 kündigte Sun an, MySQL 5.1 sei fast fertig, doch immer wieder wurde die Veröffentlichung verschoben, um weitere Fehler zu beseitigen. Dabei bringt MySQL viele neue Funktionen mit, auf die Nutzer der Software schon lange warten, so dass es nicht verwundert, dass MySQL 5.1 vielerorts seit geraumer Zeit bereits im Einsatz ist. Erst mit dem GA-Release steht MySQL aber auch offiziell für den produktiven Einsatz zur Verfügung.
Neu in MySQL 5.1 ist unter anderem die Partitionierung von Tabellen ( Partitioning(öffnet im neuen Fenster) ). Das bedeutet, dass es nun möglich ist, einzelne Teile einer Tabelle anhand festgelegter Regeln über das Dateisystem zu verteilen. Diese einzelnen Teile werden dann in separaten Tabellen gespeichert. Tabellen lassen sich anhand bestimmter Werte horizontal aufspalten und so auf verschiedene Festplatten verteilen. So lässt sich die Menge der vom Server zu lesenden Daten für eine bestimmte Anfrage verringern, was die Antwortzeiten verbessern soll. Eine vertikale Aufspaltung, also eine Teilung in Spalten, wird derzeit nicht unterstützt.
Darüber hinaus erhält MySQL mit der Version 5.1 eine Plug-in-Schnittstelle(öffnet im neuen Fenster) , mit der sich Komponenten im laufenden Betrieb laden oder deaktivieren lassen. Der Server muss dazu nicht neu gestartet werden. MySQL bietet einen Volltextparser als Plug-in an, mit dem MySQL-Nutzer eigene Inputfilter entwickeln können, um eine Volltextsuche in beliebigen Daten zu ermöglichen, beispielsweise PDF-Dateien.
Die Replikation zwischen MySQL-Servern kann in MySQL 5.1 auch zeilenbasiert erfolgen ( Row-Based Replication(öffnet im neuen Fenster) ). Statt SQL-Statements an die Slave-Server weiterzureichen, schreibt der Server Ereignisse in sein Binlog, die angeben, was sich an einzelnen Tabellenzeilen verändert hat. Dabei wird auch ein gemischter Modus unterstützt, der nur in bestimmten Fällen auf eine zeilenbasierte Replikation umschaltet.
Darüber hinaus unterstützt die neue Version auch eine Replikation zwischen MySQL-Clustern. Aber auch die Cluster-Engine selbst wartet mit einer wesentlichen Neuerung auf: Legte die Storage-Engine NDBCluster bisher ihre Daten ausschließlich im Speicher ab, können Cluster-Daten nun auf die Festplatte(öffnet im neuen Fenster) geschrieben werden. Für Indexdaten gilt das allerdings nicht, diese lassen sich aber im laufenden Betrieb hinzufügen oder entfernen.
Logfiles können nun im laufenden Betrieb aktiviert und in Tabellen geschrieben(öffnet im neuen Fenster) werden. Dabei unterstützt MySQL die Tabellenformate CSV und MySQL. Das gilt sowohl für das generelle Logfile (general_log) als auch das "slow_log", in das MySQL langsame Abfragen schreibt. Mit mysqlslap(öffnet im neuen Fenster) gibt es zudem ein Programm, um Nutzerlast zu simulieren und Datenbanken vorab einem Lasttest zu unterziehen.
MySQL 5.1 bringt außerdem einen " Event-Scheduler(öffnet im neuen Fenster) " mit, mit dem sich Aufgaben zu einem bestimmten Zeitpunkt ausführen lassen. Dazu werden Datenbankobjekte mit entsprechenden SQL-Anweisungen hinterlegt, die zu bestimmten Zeitpunkten oder in bestimmten Intervallen ausgeführt werden. Das Konzept ist an die von Unix bekannte Crontab angelehnt, verlagert dies aber in die Datenbank, so dass die entsprechenden Jobs nicht mehr über das Betriebssystem gesteuert und gegebenenfalls verschiedene Scripte geschrieben werden müssen. Zudem verfügt MySQL in der neuen Version über XML-Funktionen, die sich aber noch in der Entwicklung befinden.
MySQL enthält auch ein Upgradeprogramm(öffnet im neuen Fenster) , das alle vorhandenen Tabellen auf Kompatibilität mit der aktuellen MySQL-Version prüft und gegebenenfalls repariert. Es sollte vor entsprechenden Updates ausgeführt werden.
MySQL 5.1.30 GA steht ab sofort unter dev.mysql.com(öffnet im neuen Fenster) zum Download bereit. MySQL 5.0 erschien im Oktober 2005, die kommende Version MySQL 6.0 steht derzeit als Alphaversion zum Download bereit.



