Wo sich der Einsatz von MySQL 5 lohnt

30.09.2005
Von Yann Neuhaus

Konsole verbesserungswürdig

Auch in Bezug auf die grundlegende Systemadminsitration muss MySQL noch etwas aufholen. Oracle hat schon früh die Notwendigkeit einer Verzeichnis- und Dateistruktur zur Unterstützung großer Datenbank-Server mit unterschiedlichen Software-Releases und mehreren Datenbanken erkannt. Die dazu notwendigen Konzepte wurden in der Optimal Flexible Architecture (OFA) festgeschrieben. Da die Verzeichnis- und File-Struktur mit den Oracle-eigenen Bordmitteln nicht immer leicht zu bedienen ist, haben Systemhäuser wie Trivadis eine Arbeitsumgebung dafür geschaffen. Bei MySQL vermisst man beides: Sowohl die Definition der Verzeichnisstruktur als auch die entsprechende Arbeitsumgebung - beides wurde von Trivadis aus der Oracle-Welt in die MySQL-Umgebung portiert. So lässt sich heute sagen, dass große MySQL-Server genauso sicher und komfortabel administriert werden können wie dies bei Oracle der Fall ist.

Damit ergibt sich die Gretchenfrage, wann man MySQL als Alternative zu einer der großen kommerziellen Datenbanken in Betracht ziehen kann. Die Erfahrung lehrt, dass für diese Entscheidung eine noch genauere Analyse der Anforderungen seitens der Applikationen und Geschäftsvorfälle erfolgen muss, als dies ohnehin schon bei normalen Projekten der Fall ist. Eine Frage lautet zum Beispiel, ob sich der Aufwand für ein weiteres Datenbanksystem im Vergleich zu den gesparten Lizenzkosten überhaupt lohnt.

Die für Entscheidungsmetriken zu sammelnden Kriterien umfassen das Datenvolumen, die Anzahl parallel arbeitender Benutzer und nicht zuletzt die Art der Applikation und damit die Art der Datenbankanfragen (schreibend, lesend, Verhältnis von schreibenden zu lesenden Anfragen etc.). Handelt es sich um ein Hochverfügbarkeitsprojekt, sind weitere Aspekte wie akzeptierte Ausfallzeiten und Mean Time to Recover von Bedeutung.

Wichtig ist, dass nicht verglichen wird, ob MySQL gleich gut oder besser als der kommerzielle Konkurrent ist, was oftmals ohnehin nicht der Fall sein dürfte, sondern ob MySQL gut genug für die gestellten Anforderungen ist!

Die erste Art von Applikationen, für die man MySQL in Betracht ziehen muss, sind Web-basierende Anwendungen wie Web-Shops. Einerseits wurde die Eignung von MySQL dafür im Rahmen vieler Lamp-Projekte (Linux, Apache, MySQL, PHP/Perl) bewiesen, andererseits schlagen bei kommerziellen Datenbanken wie Oracle der Web-Einsatz mit CPU-gestützten Lizenzmodellen besonders stark zu Buche. Zudem kann MySQL gerade im leseintensiven Web-Umfeld mit Features wie dem Query Cache punkten, und durch die sorgfältige Auswahl der Storage Engines lassen sich Ressourcen sparen: