Login
Immer anmelden
SSL Login

 
Newsletter
Werbung
Shopping
International Shopping
 
 


Yatego Shopping bei über 10000 Händlern und über
3 Mio. Artikel.


Linux

:

Linux-Bücher

Handy
Shop

  und Computer.

Viele Services

:

Apple iPad Reader,


Ratgeber,

 

Techniktops,

 

Yatego Clicks

  & über 3000

Gutscheine.

 
Do, 9. September 2010, 15:00

MySQL-Performance-Tuning durch neue Datenbank-Engines

Moderne MySQL-Forks und -Patches

MySQL ist die Standard-Lösung für freie relationale Datenbank-Systeme im Web-Bereich. In den letzten Jahren ist durch neue Forks, weitere Storage-Engines und gepatchte Versionen das Feld deutlich unübersichtlicher geworden. Höchste Zeit, sich einen Überblick über die wichtigsten Angebote zu verschaffen.

Drizzle

Nicht unerwähnt bleiben darf an dieser Stelle die Neuentwicklung Drizzle. Der Fork setzt nach eigenen Aussagen auf die frühen Werte von MySQL: Einfachheit, Zuverlässigkeit und Performance. Drizzle basiert ursprünglich auf dem Code des noch nicht veröffentlichten MySQL 6.0 und verfolgt vor allem die Entfernung nicht benötigter Funktionen und Reduzierung von Komplexität.

Der Feature-Rotstift wurde recht radikal angesetzt: Storage-Engines wie Federated und Merged fehlen, andere wie CSV und MyIsam sind nur noch temporäre Engines. Moderne Engines wie XtraDb pflegen die Entwickler in einem eigenen Branch. Die Standard-Engine für Drizzle ist InnoDb, doch das bedeutet nicht, dass sich Dumps eines klassischen MySQL-Servers mit InnoDb-Tabellen problemlos einspielen lassen, da in Drizzle auch viele Feld-Typen wie »TINYINT«, »TINYTEXT« und »YEAR« gestrichen wurden. Ein Umstieg auf Drizzle bedeutet also zwangsläufig architektonische Veränderungen am Datenbank-Design. Während sich der Wechsel von »TINYINT« auf »INT« im besten Fall schon durch Suchen und Ersetzen in einem Dumpfile erledigen lässt, kann das Fehlen des »YEAR«-Feldes schon größere Auswirkungen auf bestehende Anwendungen haben. Eine allgemeine Lösung für den Umstieg gibt es nicht.

Auf der anderen Seite bietet Drizzle völlig neue Replikations-Mechanismen. Hervorstechend ist die Möglichkeit, über so genannte Rabbit Replication zu NoSQL-Datenbanken wie Voldemort oder Diensten wie Memcached zu replizieren, um so zentral verschiedene Backends automatisiert bespielen zu können. Als moderne und hochperformante nicht-transaktionale Datenbank-Engine arbeitet das Drizzle-Projekt an BlitzDb, die sich als Alternative zu MyIsam positionieren soll.

Fazit

Das träge Aufnehmen von Patches in die Community Edition des MySQL-Server beantwortet die Community durch aktive neue Projekte. Bestehende Installationen von MySQL 5.0 lassen sich recht einfach durch den MySQL-5.0-Build von Ourdelta.org ersetzen. Dieser beschleunigt den Server durch einige Performance-Patches und bietet erweiterte Reporting-Funktionen, sodass der Administrator weitere Schritte auf der Basis von Laufzeitstatistiken planen kann. Installationen der Version 5.1 können durch ein Update auf das aktuellste InnoDb-Plugin von den letzten Optimierungen und Erweiterungen profitieren - im Idealfall ohne jegliches Kompilieren. Als effektiver erweist sich der konsequente Umstieg auf die moderne MariaDb und den Wechsel auf XtraDb, das in Performance-Tests noch besser abschneidet als das InnoDb-Plugin. Erfreulich, dass auch MariaDb vom Ourdelta.org-Projekt paketiert und durch weitere Patches verbessert wird.

In einem noch sehr frühen Stadium befindet sich das Drizzle-Projekt mit seiner vereinfachten InnoDb-Variante. Auch die Maria-Engine stellt in Zukunft eine mögliche, schnelle Alternative zum klassischen Gespann MyIsam/InnoDb dar, sollte derzeit aber nur nach eingehender Prüfung eingesetzt werden. Beide Projekte/Engines verlangen im Gegensatz zum InnoDb-Plugin, XtraDb und den bekannten MySQL-Patches in der Regel architektonische Änderungen am Datenbank-System und dem darauf zugreifenden Programmcode.

Für Administratoren und Entwickler ergibt sich eine ambivalente Situation: Es ist notwendig geworden, sich intensiv mit alternativen MySQL-Patches, -Engines und -Forks zu beschäftigen und idealerweise mittels Benchmarks eine optimale Lösung für das eigene Anforderungsprofil zu finden. Dies bedeutet einen erhöhten Zeitaufwand. Zugleich ist die eigentliche Installation der Server durch vorpaketierte Software kaum komplizierter als der Rückgriff auf Distributions-Pakete. An einer Aufnahme der modernen Forks in Distributions-Repositorien wird bereits aktiv gearbeitet. Und der Gewinn für die Mühen ist im Idealfall ein deutlich schnellerer Datenbank-Server, der Hardware- und Entwicklungskosten reduzieren hilft.

Der Autor

Caspar Clemens Mierau berät mit seinem Projekt »Screenage« Rails- und PHP-basierte Portale wie moviepilot.de, omdb.org und artfacts.net, arbeitet als freier Autor und sammelt Literatur für seine Dissertation über Entwicklungsumgebungen.

Literatur

Andre Gildemeister, Abfragen-Beschleuniger. Performance-Optimierung in MySQL, Linux-Magazin 2003/03
Tim Schürmann, Verteiltes Caching mit Memcached, ADMIN 02/2009, S.58
Jens-Christoph Brendel, MySQL-Benchmark hilft Konfiguration optimieren. Linux Magazin 2008/12

Dieser Artikel erscheint im ADMIN-Magazin. Veröffentlichung mit freundlicher Genehmigung.

Pro-Linux
Newsletter
Neue Nachrichten