Wo sich der Einsatz von MySQL 5 lohnt

30.09.2005
Von Yann Neuhaus

Performance-Probleme

Andererseits gibt es Situationen, in denen der Einsatz von MySQL sehr genau getestet und verifiziert werden muss. So zum Beispiel, wenn bei großen Datenmengen ein effizienter Transaktions-Support garantiert sein muss. Bei InnoDB ist es im Prinzip ähnlich wie bei Oracle möglich, mehrere Tabellen in einer Datei zu halten. Aktuell leidet das InnoDB-Space-Management jedoch an Performance-Problemen bei der Freigabe von Speicherplatz innerhalb eines Tablespaces. Ebenso ist das File-Management (hinzufügen und entfernen von Daten-Files) weit von den Möglichkeiten zum Beispiel eines Oracle-Systems entfernt. Innobase - die Firma, die die InnoDB Storage Engine entwickelt und pflegt - empfiehlt daher, pro Datei nur eine Tabelle einzurichten: Ein Konzept, wie es von der MyISAM Storage Engine bekannt ist.

Schließlich noch etwas zum Thema Cluster: Aktuell ist die NDB Storage Engine eine In-Memory Storage Engine, welche Transaktions-Support anbietet. Das Acid-Prinzip (Atomicity, Concurrency, Isolation, Duration) der Transaktionsverwaltung wird durch Datenänderungen auf mindestens zwei Knoten implementiert, um so vor Knoten-Crashes geschützt zu sein. Es gibt zwar einen Checkpoint-Prozess, doch der arbeitet asynchron zu den Transaktionen. Es ist klar, dass niemand seine Gehaltskontodaten auf diese Weise gesichert haben möchte: In vielen Fällen reicht die die Replikation von Änderungen auf viele Knoten allein nicht aus. Verbesserungen wird hier erst eine der folgenden Versionen von MySQL bringen.