Das Open-Source Datenbank-Management-System MariaDB hat als freies, relationales DBMS in vielen Bereichen das bislang weit verbreitete MySQL abgelöst. Entstanden ist MariaDB durch eine Abspaltung (Fork) aus dem MySQL Projekt. Ein neuer Name war erforderlich, da Oracle an MySQL die Markenrechte hält. Initiiert wurde das Projekt von Ulf Michael Widenius, früherer Hauptentwickler bei MySQL und Entwickler der Storage-Engine Aria, welche die zentrale Komponente von MariaDB darstellt. Inzwischen läuft die Entwicklung unter der Trägerschaft der MariaDB Corporation und eine MariaDB Foundation sorgt für die Einhaltung des Open-Source Status.
MySQL und MariaDB – Namensgebung und Kompatibilität
Die Entwicklung beider Datenbanksysteme wurde von Ulf Michael Widenius initiiert und entscheidend geprägt. Die Namensgebung erfolgte, ebenfalls für beide Datenbanken, unter Bezug auf die Vornamen der beiden Töchter Widenius’. Die älteste Tochter My gab dem seit 1994 existierenden MySQL den Namen. Seit 2009 widmet sich Widenius dem Fork MariaDB, dessen Name auf die jüngere Tochter Maria Bezug nimmt. MySQL gehört heute zu Oracle. Bis MySQL Vers. 5.5 waren beide Datenbanksysteme weitgehendst kompatibel. Inzwischen hat Oracle MySQL Vers. 5.6 herausgebracht und die aktuelle MariaDB ist in Vers. 10 erhältlich. Dabei zeigen sich die ersten relevanten Unterschiede.
Vorteile von MariaDB im Vergleich zu MySQL
MariaDB unterstützt mittlerweile deutlich mehr Engines als MySQL. Die Engines enthalten die Basisfunktionen der Datenbank, wie u. a. Datensätze erstellen, lesen, ändern oder löschen und sind jeweils für klar definierte Anwendungsfälle konzipiert. Ziel ist es, für jedes Einsatzgebiet eine optimal passendeEngine zur Verfügung zu stelllen. Neben der projekteigenen Engine Aria unterstützt MariaDB auch noch u. a. SphinxSE, FederatedX, Spider, TokuDB, ScaleDB, ColumnStore und einige mehr. Unterstützt werden dabei durch die jeweiligen Engines spezielle Features wie u. a. Transaktionen, Sharding-Funktionen oder massive parallele Architekturen, aber auch Allround-Aufgaben wie z. B. mit der Connect-Engine. Von InnoDB erfolgte ein Umstieg auf das deutlich performantere xtraDB.
MariaDB wird im Gegensatz zu MySQL kontinuierlich weiter entwickelt, Updates werden schnell durchgereicht, das Projekt ist vollständig Open-Source und u. a. mit einem detaillierten Bugtracker dokumentiert. Das Datenbanksystem ist zudem auf Performance optimiert, bietet zur kommerziellen Nutzung eine Clusterdatenbank an und eine Migrartion von anderen DB-Systemen ist in vielen Fällen elegant realisierbar. Nach einer Migration von MySQL nach MariaDB ist ein Zurück auf MySQL ab der aktuellen Version allerdings nicht mehr möglich.
Sicherheit
Mit Version 10.1 bietet MariaDB die Möglichkeit, Daten auf Storage-Ebene zu verschlüsseln. Das gilt für komplette Table-Spaces, einzelne Tabellen und auch für verschiedenste Log-Dateien. Verschlüsselt sind die Daten dabei nicht nur in den Dateien der Engines, sondern auch in den Binär-Logs, die für die Replikation wichtig sind. Des Weiteren besteht die Möglichkeit der Benutzung sogenannter Rolling Encryption Keys, wobei alle Schlüssel nur eine begrenzte Gültigkeitsdauer haben und zyklisch durch neue ersetzt werden.
Verfügbarkeit und Hochverfügbarkeit
MariaDB ermöglicht nach dem Konzept des “Role-based Access Control” die Verwaltung der Zugriffsrechte. Dabei werden die Zugriffsrechte nicht nur, wie klassisch üblich, auf der Basis der einzelnen Benutzer bzw. Benutzergruppen vergeben, sondern auch an Hand definierter Rollen, die die Mitarbeiter im Unternehmen ausüben. Hochverfügbarkeit und Skalierbarkeit realisiert MariaDB auf Basis der Clustering-Lösung Galeria des finnischen Anbieters Codership. Bis zur Version 10.0 des MariaDB-Server gibt es zwei Versionen, von denen eine MariaDB-Galera-Cluster unterstütze, die andere nicht. Seit MariaDB-Server Vers. 10.1 ist Galera-Cluster-Unterstützung integriert.
Parallelverarbeitung und verbesserte Verfügbarkeit
MariaDB kombiniert mit dem aktuellen ColumnStore relationale Datenbank-Technologie mit Big Data. Die Speicher-Engine ColumnStore arbeitet spaltenorientiert und unterstützt dabei in hohem Maße parallele Abfrageverteilung der Daten und paralleles Laden. Mit MaxScale bietet MariaDB ein Anwendung-zu-Datenbank Gateway. Es verbindet Client-Anwendungen mit Datenbanken und soll bei unveränderter Anwendung die Verfügbarkeit, Sicherheit und Skalierbarkeit der Datenbank verbessern. MaxScale erhielt 2016 von der MySQL Community den Preis “Application of the Year 2016”.
Organisationsstruktur und Support
Die ehemaligen MySQL-Initiatoren Michael Widenius, Allan Larsson und David Axmark gründeten im Dezember 2012 die unabhängige MariaDB-Foundation. Sie soll als Stiftung die Interessen der MariaDB-Entwickler und -Nutzer schützen und dafür Sorge tragen, dass die freie Datenbank auch frei bleibt. Weitere Ziele sind die Verbesserung der Datenbanktechnologie, inklusive der Entwicklung von Standards und gewährleistung der Interoperabilität zu anderen Datenbanksystemen. Das Unternehmen MariaDB Corporation ist Haupt-Entwickler des freien DB-systems. Es wurde ursprünglich unter dem Namen SkySQL gegründet und im Oktober 2014 umbenannnt in MariaDB Corporation umbenannt. Die MariaDB Corporation bietet, so wie auch bei Datenbanksysteme anderer Hersteller üblich, Support, Beratung und remote Administration für ihre Datenbanksysteme.
Akzeptanz und Verbreitung
MariaDB wurde durch kontinuierliche Weiterentwicklung zu einem eigenständigen Datenbank-Management-System und hat einen deutlichen Vorsprung vor MySQL erlangt. Namhafte Nutzer sind u. a. Google, Mozilla, OpenBSD, openSUSE, Fedora und viele andere.