MySQL-Alternative

MariaDB 10: mehr als eine relationale Datenbank

Die Open-Source-Datenbank Maria DB profiliert sich weiter gegenüber der Muttersoftware MySQL. Mit dem Sprung auf Version 10 geht es Richtung Analyse massenhafter Daten in Internet-Zeiten. Begleitend erscheinen Tools zur Administration.

Für einen großen Teil der IT-Anforderungen sind die SQL-orientierten relationalen Datenbank-Managementsysteme (RDBMS) völlig ausreichend und unverzichtbare Werkzeuge. Sie haben aber für Internet-Anwendungen den Nachteil, Massen unstrukturierte Dokumente nicht performant vorhalten zu können. Dazu sind so genannte NoSQL-Datenbanken besser geeignet und auch einfacher zu bedienen. Allerdings fehlen diesen Systemen geschäftskritische Eigenschaften wie Konsistenz und Transaktionssicherheit. Mehrere Datenbanksysteme zu betreiben verursacht Mehraufwand nicht nur bei der Administration, sondern insbesondere bei der Integration beider Seiten, um sie unternehmerisch effektiv nutzen zu können.

Die Integration von NoSQL-Datenbanken in eine RDBMS-Umgebung ist ein naheliegendes Ziel, das bei MariaDB seit einiger Zeit zu erkennen ist. Diese Open-Source-Datenbank ist eine Abspaltung von MySQL, dessen einstiges Kernteam von Oracle abgesprungen ist. Träger der Entwicklung ist inzwischen die finnische Firma SkySQL, während eine MariaDB Foundation über den Erhalt des Open-Source-Erbes wacht. Bis Version 5.5 lief die MariaDB-Versionierung parallel zu MySQL, um Kompatibilität zu unterstreichen. Doch während Oracle MySQL 5.6 herausgebracht hat, macht MariaDB jetzt einen Sprung auf Version 10 - um Unterschiede hervorzuheben.

Die wichtigsten Verbesserungen von MariaDB 10 beziehen sich auf den Durchsatz und die NoSQL-Fähigkeiten. Laut Hersteller ist die Performance bis zu zehnfach besser. Nachdem der Code der Datenbank bei rund einer Million Codezeilen "kernsaniert" und modernisiert wurde, ließen sich Neuerungen einführen. Ergebnisse sind die parallele Replikation, wobei die Replikations-Slaves crash-gesichert sind. Es ist ferner möglich, gleichzeitig über mehrere Master-Server auf diverse Slaves zuzugreifen, was größere Datenmengen adressierbar macht. Eine besondere Rolle kommt der "Spider"-Engine zu, die große Datenbanktabellen über mehrere Server verteilen kann ("Sharding"), was Performance und Skalierbarkeit verbessert.

In Sachen NoSQL-Fähigkeiten macht es die "Connect"-Engine möglich, aus MariaDB 10 dynamisch auf unterschiedliche Datenquellen zuzugreifen. Dazu gehören neben fremden relationalen Systemen auch unstrukturierte Dateien wie Log-Files. Ferner erhielt MariaDB weitere Verbesserungen der Technik "Dynamic Columns"; die variablen Spalten einer Tabelle kommen den NoSQL-Dokumenten entgegen. Eine spaltenorientierte NoSQL-Datenbank, nämlich "Cassandra" von der Apache Software Foundation, lässt sich interoperabel mit MariaDB betreiben. Cassandra ist vor allen in Big-Data-Szenarien verbreitet, und auch das zeigt an, wohin die Reise geht.

Michael "Monty" Widenius: Performance-Gewinn und NoSQL-Fähigkeit haben Vorrang vor MySQL-Kompatibilität.
Michael "Monty" Widenius: Performance-Gewinn und NoSQL-Fähigkeit haben Vorrang vor MySQL-Kompatibilität.
Foto: Widenius

Mit der Kernsanierung des Programm-Codes ist MariaDB in der neuen Version 10.0 nicht mehr 100-prozentig MySQL-kompatibel. Wie der MySQL- und MariaDB-Initiator Michael "Monty" Widenius vor etwa einem Jahr in einem Interview mit der "Computerwoche" ausführte, hatten die Neuerungen in Richtung Performance und NoSQL-Fähigkeiten Vorrang (siehe Monty Widenius im Gespräch: "Die Zukunft von MySQL gestalten wir").

Neben der MariaDB Foundation ist das finnische Softwarehaus SkySQL die treibende Entwicklungskraft hinter MariaDB. Für die nächste Version 10.1 verspricht das Unternehmen wieder "100 percent MySQL drop-in replacement".