MySQL-Abkömmling MariaDB auf der Überholspur
Der erste Release-Kandidat von MariaDB 5.2 enthält etliche neue Funktionen, die seinem Ahnen MySQL fehlen. Dazu gehören virtuelle Spalten und alternative Authentifizierungsverfahren.
- Christian Kirsch
Die Entwickler des freien MariaDB haben einen ersten Release-Kandidaten der Version 5.2 vorgelegt, die von MySQL 5.1.50 abgeleitet ist. Eine überarbeitete Thread-Programmierung in InnoDB soll Anwendern dieser Datenbank-Engine mehr Tempo bringen. Ähnlicher Code findet sich in dem ebenfalls kürzlich veröffentlichten Release-Kandidaten von MySQL 5.5.
Mit seinem Plug-in-Konzept für Authentifizierungsmodule hängt MariaDB seinen Vorgänger jedoch ab – in den Genuss dieser noch zu entwickelnden Funktion sollen nur kommerzielle Kunden von MySQL kommen. Bislang mussten MariaDB- und MySQL-Nutzer jeweils eigene Datenbank-Accounts besitzen, eine Wiederverwendung von Systemkonten, wie sie etwas bei Oracle und Informix möglich ist, war ebenso wenig vorgesehen wie die Anbindung von Verzeichnisdiensten. Eins der drei Authentifizierungsmodule von MariaDB ermöglicht es nun einem unter Unix angemeldeten Benutzer, ohne weitere Passwort-Abfrage eine Verbindung zur Datenbank aufzubauen. Allerdings müssen die Plug-ins beim Einrichten der Datenbank ausdrücklich installiert werden. Per API sollen sich eigene Authentifizierungsmodule schreiben lassen.
MariaDBs Virtual Columns gibt es in MySQL ebenfalls nicht. Diese berechneten Spalten werden im CREATE TABLE
-Statement mit den Schlüsselwörtern VIRTUAL
oder PERSISTENT
gekennzeichnet. Erstere erzeugt der Server bei jeder Abfrage neu, für die zweiten berechnet er die Werte dauerhaft und speichert sie mit allen anderen Spalten in der Tabelle. Der Code für diese Funktion stammte ursprünglich von Andrej Zakhov und war für MySQL 6 vorgesehen, dessen Entwicklung jedoch eingestellt wurde.
Mit der Engine OQGRAPH sollen sich Graphen in der Datenbank verarbeiten lassen, ohne dass dafür ein Umstieg auf ein spezialisiertes Produkt wie Neo4j oder GraphDB nötig wäre. OQGRAPH verwendet eine fixe Tabellenstruktur, die neben den für die Graph-Traversierung nötigen Informationen lediglich die IDs der in regulären Tabellen gespeicherten Daten enthält. Abfragen müssen per JOIN
die Verbindung zwischen ihnen und dem Graphen herstellen.
Außerdem ist SphinxSE als zusätzliche Engine verfügbar, das die Volltextsuche schneller abwickeln soll als die in MariaDB/MySQL eingebaute Technik. Allerdings stellt die Engine lediglich die Verbindung zu dem als externen Programm laufenden Sphinx-Daemon dar, der die eigentliche Arbeit erledigt. (ck)