Lange hat es gedauert, aber endlich ist es soweit: Oracle / MySQL AB haben Version 5.5 zur finalen Version erklärt.
Das ist das erste stabile Release, seit der Übernahme von MySQL AB durch Oracle, wir sind gespannt! Wie mit fast jeder Version,
wird uns von Oracle/MySQL AB nahe gelegt, dass sich die Performance gesteigert hat und natürlich viele Bugs behoben worden sind.
Unsere Erfahrung hat gezeigt, dass beides zwar richtig ist, aber Performancesteigerung sich oft auf "Corner Cases" bezieht,
das Beheben von Bugs wieder neue mit sich bringt und der große erhoffte Schritt vorwärts doch nicht so groß ist.
Mit 5.5 haben sich aber grundlegende Dinge geändert, z.B. ist die Standard Storage Engine nicht mehr MyISAM, sondern innodb. Im selben Zuge,
hat Oracle bekannt gegeben, dass innodb durch diverse Anpassungen nun schneller geworden ist, und darum zur Standard Engine wurde.
Nachdem wir MySQL 5.5 in einer Testumgebung bereits seit der Betaphase ausführlich prüfen, können wir das insofern bestätigen. Ob innodb aber nun in jedem Fall schneller ist als MyISAM ist zu bezweifeln. Was allerdings außer frage steht: innodb ist die robustere und erwachsenere Storage Engine. Mit den vielen Änderungen ist innodb nun in der Lage Mehrkernsystem besser auszunutzen und wird dadurch auf modernen Servern schneller.
Was noch geändert wurde, ist die Replikation. Vorher war diese nur asychron möglich, mit Version 5.5 gibt es nun die Möglichkeit diese semi-synchron durchzuführen. Das ist einfacher erklärt, als man denkt: früher hat der MySQL Daemon auf dem Master Server einen Bin Log geführt und diesen an die Slaves, auf Anfrage selbiger, verteilt. Der Master Server hat nie eine Nachricht erhalten, ob der Slave nun synchron läuft ist, oder nicht. Das ist nun anders: Slaves die MySQL 5.5 benutzen, bzw. generell den semi-synchronen Mechanismus unterstützen, können den Master zurück melden, ob sie alle Daten repliziert haben, oder nicht. Dies ist nun interessant, da man Transaktionen auf dem Master Server so setzen kann, dass die erst als erfolgreich abgeschlossen sind, wenn die/einer der Slaves diese auch repliziert haben. Auf diesem Weg, hat man also Gewissheit, dass die Daten auf dem Master und auf dem Slave gespeichert / verändert bzw. gelöscht wurden.
Dieses neue Feature ist besonders interessant für Applikationen die Master - Master Replikation nicht unterstützen. Man behilft sich in dem Fall mit einem Master - Slave Failover, aber früher war nie gesichert, dass der Slave auch wirklich synchron läuft. Man konnte den Status zwar überwachen, aber mit dem neuen System ist man auf der besseren Seite.
Mehr Informationen zur Replikation in 5.5 gibt es hier.
Mehr Informationen zu den Neuerungen in MySQL 5.5 gibt es hier.