Zack Urlocker, MySQL: "Wir streben nicht nach vielen Features"

13.10.2006
Von 
Jan Schulze ist freier Autor in Erding bei München.
Für skalierbare Web-Anwendungen arbeitet MySQL mit einem Replikationsverfahren, um die Last der Abfragen auf mehrere Server verteilen zu können. Dabei werden alle Schreibzugriffe auf die Datenbank von einem Master-Server entgegen genommen. Dieser repliziert die veränderten Tabellen auf eine beliebige Zahl von Slaves. Alle Lesezugriffe werden von den Slaves bedient, die Verteilung übernimmt eine Load-Balancing-Lösung.
Für skalierbare Web-Anwendungen arbeitet MySQL mit einem Replikationsverfahren, um die Last der Abfragen auf mehrere Server verteilen zu können. Dabei werden alle Schreibzugriffe auf die Datenbank von einem Master-Server entgegen genommen. Dieser repliziert die veränderten Tabellen auf eine beliebige Zahl von Slaves. Alle Lesezugriffe werden von den Slaves bedient, die Verteilung übernimmt eine Load-Balancing-Lösung.

Urlocker: Der Großteil der Anwender startet mit der GPL-Version. Die ist ja im Wesentlichen mit der kommerziell lizenzierten Version identisch und nicht funktional abgespeckt. Sobald das Geschäft läuft und die Datenbank unternehmenskritisch wird, kommen die meisten Anwender dann auf die entsprechenden Dienstleistungsangebote zurück, die wir als MySQL Network bezeichnen. Das ist ja der Vorteil eines dualen Lizenzmodells: Sie können mit sehr niedrigen Investitionen und der GPL-Datenbank starten und erst bei Bedarf die Services wie Support rund um die Uhr oder Beratung dazukaufen. Sie müssen weder Ihre bestehenden Daten auf eine neue Datenbank migrieren noch sonstige Änderungen am Technik-Stack vornehmen.

Dieses Prinzip ist für neue Themen wie Web 2.0 wichtig. Schließlich kann heute noch niemand sagen, wie sich die darauf basierenden Geschäftsmodelle entwickeln werden. Letztlich waren die hohen Investitionen in proprietäre Hard- und Software ein Grund, weshalb so viele Internet-Unternehmen mit dem Platzen der Dotcom-Blase aufgeben mussten - sie hatten einfach keinen finanziellen Spielraum mehr. Open Source kann dabei helfen, diesen Fehler zu vermeiden und die Investitionen in Relation zum Geschäftsverlauf zu setzen.

CW: Als eine der Stärken der Datenbank heben Sie das Skalieren über Replikation hervor. Wie genau funktioniert das?

Urlocker: Hier muss man vielleicht erst ein Wort über den MySQL Cluster verlieren: Unsere Clustering-Technik dient primär dazu, Hochverfügbarkeit zu erzielen. Da Clustering sehr komplex ist und sich kaum ohne professionelles Consulting implementieren lässt, haben wir für Anwender ohne Hochverfügbarkeitsansprüche auch ein einfacheres Verfahren integriert: Um nur die Last der Abfragen auf mehrere Server verteilen zu können, nutzen wir die Replikation. Dabei werden alle Schreibzugriffe auf die Datenbank von einem Master-Server entgegen genommen. Dieser repliziert die veränderten Tabellen auf eine beliebige Zahl von Slaves. Alle Lesezugriffe werden von diesen Slaves bedient, die Verteilung übernimmt eine Load-Balancing-Lösung. Neue Slaves lassen sich im laufenden Betrieb hinzufügen. Der aus unserer Sicht entscheidende Vorteil beim Skalieren über Replikation ist, dass es wesentlich einfacher zu implementieren und zu administrieren ist als ein Cluster. Jeder ausgebildete Administrator bekommt das ohne Spezialkenntnisse hin.

CW: Der Master-Server führt aber zu einem Flaschenhals, wenn wie bei Web 2.0 auch viele Schreibzugriffe zu erwarten sind.

Urlocker: Nicht unbedingt. Die Tabellen lassen sich ja partitionieren. Also zum Beispiel bei einer Abonnenten-Datenbank könnte eine Partitionen die Kunden von A bis F enthalten, eine weiter von G bis L und so fort. Jede Partition kann dann auf einem separaten Master gehalten werden, ohne dass die Integrität der Daten gefährdet ist. Bislang ist das noch eine Aufgabe des Betriebssystems. Wir werden jedoch mit dem kommenden Release 5.1 von MySQL die Partitionierung direkt in die Datenbank integrieren.

CW: Wie sehen die weiteren Pläne bei der Produktentwicklung aus?