Menü
iX Magazin

Zwei weitere freie transaktionsfähige MySQL-Backends

Von
vorlesen Drucken Kommentare lesen 131 Beiträge

MySQL kann anders als andere Datenbanksysteme mehrere Backend-Engines zum Speichern der Daten verwenden.

(Bild: http://www.primebase.org/)

Ein Unterschied zwischen dem freien MySQL und anderen Datenbanksystemen ist sein Konzept der "Storage Engines". Es ermöglicht die Einbindung von Backends, die verschiedene Techniken zur Speicherung der Daten nutzen und teilweise unterschiedliche Funktionen anbieten. So gibt es unter anderem Engines für Archivierungszwecke und für den Clusterbetrieb. Kurz nacheinander sind nun zwei transaktionsfähige MySQL-Backends erschienen. Das unter der GPLv2 (GNU General Public License) stehende XtraDB von Percona ist eine Weiterentwicklung von InnoDB. Es liefert zum einen mehr Laufzeitinformationen als jenes, etwa zur Speicherausnutzung und zur Verwendung von Sperren. Zum anderen soll es laut Percona ein besseres IO-System nutzen, bei dem mehrere Lese- und Schreib-Threads den Durchsatz verbessern. Vorhandene InnoDB-Tabellen sind mit XtraDB weiterhin nutzbar. Die Engine gibt es im Quellcode als geziptes tar-Archiv für MySQL 5.1.30 sowie in Form von RPMs für RHEL (RedHat Enterprise Linux) 4 und 5.

Ebenfalls für MySQL 5.1 wurde PBXT entworfen, von dem jetzt ein erster Release-Kandidat vorliegt. Es nutzt die seit dieser Version vorhandene API zum dynamischen Einbinden von Storage Engines. Seine Entwickler heben vor allem "Multi-version Concurrency Control" hervor, womit Lesezugriffe ohne Sperren möglich seien. Außerdem verwendet diese Engine Datensatz-Locks, was möglichst viele gleichzeitige Zugriffe sicherstellen soll, und gibt bei Deadlocks sofort eine Fehlermeldung aus.

Bislang hatte MySQL mit seinen transaktionsfähigen Engines wenig Glück: Die Hersteller der beiden ersten Varianten, InnoDB und Berkeley DB, hatte Oracle 2005 und 2006 übernommen. InnoDB ist jedoch weiterhin Teil der offiziellen MySQL-Distribution. Ein Jahr später kaufte IBM mit Solid eine weitere Firma, die eine freie Transaktions-Engine für MySQL anbot. Im Januar 2007 stellte MySQL eine erste Alpha-Version des selbstentwickelten "Falcon" vor, das Version 6 des RDBMS unabhängig von anderen Firmen Transaktionen bringen soll. Sein Chefarchitekt verließ die Firma jedoch Mitte 2008. (Christian Kirsch) / (ck)