Erfahrungsbericht von M2Mobi

MariaDB als Alternative zu MySQL von Oracle

Ludger Schmitz ist freiberuflicher IT-Journalist in Kelheim. Er ist spezialisiert auf Open Source und neue Open-Initiativen.
Ein Wechsel von der Datenbank MySQL auf MariaDB ist unproblematisch, reduziert den IT-Aufwand und eröffnet technisch neue Möglichkeiten. Diese Erfahrungen hat M2Mobi gemacht.

M2Mobi ist ein schnell wachsendes Amsterdamer Softwarehaus, das auf die Entwicklung von mobilen Applikationen für iPhones, Android- und andere Smartphones spezialisiert hat. Ein großer Auftrag des Flughafens Schiphol für ein neuartiges Passagier-Informationssystem war vor zwei Jahren Auslöser eines Umstiegs von der MySQL-Datenbank auf die Alternative MariaDB vom finnischen Anbieter Monty Program.

MariaDB ist ein relationales Open-Source-Datenbanksystem, das sich als Alternative zu MySQL anbietet.
MariaDB ist ein relationales Open-Source-Datenbanksystem, das sich als Alternative zu MySQL anbietet.
Foto: MariaDB

Die Anwendung informiert Reisende nicht nur über dynamische Informationen wie Abflug- und Ankunftszeiten, sondern auch über statische Informationen wie beispielsweise Parkplätze und Sicherheitskontrollen. Um sie zukunftssicher zu halten, sollte sie überprüfen, ob ein Update der statischen Informationen zur Verfügung steht und dieses jeweils automatisch herunterladen. Normalerweise hätte das einer umfangreichen Logik in der Applikation selbst oder auf dem Backend-Server bedurft. Beides hätte die Weiterentwicklung der Applikation erschwert.

Die Lösung bot die Datenbank-Engine OQGraph, welche die unterschiedlichen Daten-Revisionen als Graph abspeichert. Dadurch lassen sich in der Datenbank selbst schnell und vor allem Ressourcen-schonend Upgrade-Pfade für die verschiedenen Anwendergeräte erstellen. Im Gegensatz zu MySQL ist OQGraph bei MariaDB bereits integriert, was es deutlich einfacher macht, die Engine zu installieren und zu warten.

Alter Code in neuen Schläuchen

Um nicht unterschiedliche Datenbanksysteme warten zu müssen, stellte M2Mobi sämtliche MySQL-Datenbanken auf MariaDB um und erfuhr dabei, dass der Fork, wie von Monty Program behauptet, tatsächlich ein "Drop-in-Replacement" des Oracle-Produkts ist. "Wir konnten die Datenbanken ohne irgendwelche Komplikationen an einem einzigen Tag austauschen", berichtet Heinz Wiesinger, Datenbankspezialist bei M2Mobi. "Unsere internen Programme und die Kundenapplikationen, auch die anspruchsvolleren, liefen ohne Code-Änderungen nach dem Wechsel weiter."

MariaDB wurde vom früheren MySQL-Entwickler Ulf Michael Widenius aus der Taufe gehoben.
MariaDB wurde vom früheren MySQL-Entwickler Ulf Michael Widenius aus der Taufe gehoben.
Foto: Widenius

Die Integration von MariaDB in Admin-Umgebungen wie Nagios machte wegen des zu MySQL identischen Konfigurations-Setups keine Arbeit. Auch die Tools von dritten Anbietern funktionieren unverändert. "Für einen Datenbank-Administrator verursacht der Umgang mit MariaDB keinen Mehraufwand", urteilt Wiesinger. "Im Gegenteil: Einiges wird sogar leichter." So war es für M2Mobi wesentlich einfacher, auch die Storage-Engine Pinba zu installieren und zu warten. Dieser externe, nicht per Default in MariaDB oder MySQL enthaltene Datenbank-Kern sammelt statistische Informationen über Webseitenaufrufe, die sich per SQL abfragen und auswerten lassen.

Verwendete M2Mobi früher MySQL bis Version 5.1, so kommen heute MariaDB 5.2 und 5.3 zum Einsatz. Eine Konsolidierung auf Release 5.5 ist geplant. Die will M2Mobi wie schon bei der Migration ohne Hilfe von außen schaffen. Die Unterstützung aus der MariaDB-Community reiche bisher "mehr als genug für unsere Ansprüche", erklärt Wiesinger. Besonders schätzt der Datenbank-Spezialist den Bug-Tracker und das Help-Forum von MariaDB. Dort hinterlegen Anwender unter anderem ihre Feature-Requests, einige Anregungen kommen von M2Mobi. "Solche Wünsche führen recht schnell zu einer zumindest vorläufigen Lösung", berichtet Wiesinger. "Das Feedback, das ich bisher von den MariaDB-Entwicklern bekommen habe, war durchweg positiv."

Im Video: Einführung in NoSQL-Datenbanken

Inhalt dieses Artikels