Vergleich: Open-Source-Datenbanken

09.06.2004
Von 
Jan Schulze ist freier Autor in Erding bei München.

Doch es greift zu kurz, sich ausschließlich auf die Transaktionssicherheit zu beschränken. Wichtig für den Betrieb in großen Unternehmen sind auch Fragen über die so genannten Abilities eines Systems, beispielsweise das Eventing und das Scheduling - also das Starten bestimmter Vorgänge, wenn vordefinierte Zustände eintreten, oder nach einem festgelegten Zeitplan.

Während MySQL bei Eventing und Scheduling ausschließlich auf die Funktionen des Betriebssystems zurückgreift, bietet MaxDB einige integrierte Funktionen an. Jobs können entsprechend festgelegten Zeitplänen oder beim Auftreten bestimmter Ereignisse angestoßen werden. Ebenso unterstützt MaxDB auch Eventing bei Alarmzuständen, etwa "Log Full", sowie die Benachrichtigung des Administrators, wenn definierte Schwellenwerte überschritten werden. "Das integrierte Scheduling und Eventing ist eine Anforderung, die die SAP-Anwendungen stellen", so Hoffmeister.

Große technologische Unterschiede finden sich auch noch bei anderen Funktionen. So beherrscht MySQL im aktuellen Stable-Release noch keine Stored Procedures, diese werden erst in der anstehenden Version 5 verfügbar sein. MySQL 5 steht zurzeit als Alpha-Version zum Download bereit. MaxDB kennt diese Möglichkeit schon lange.

Stored Procedures sind häufig verwendete Befehle, die direkt in der Datenbank gespeichert werden. Sie können mit diversen Parametern gestartet werden. Der Vorteil dabei: Logik, die als Stored Procedure auf dem Server liegt, wird wesentlich schneller verarbeitet als Logik, die am Client gespeichert ist. Zudem können alle Anwendungen, die mit der Datenbank kommunizieren, auf diese Prozeduren zugreifen. Dasselbe gilt für Trigger - automatische Funktionen, die zum Beispiel ausgeführt werden, sobald eine vorgegebene Zelle der Tabelle geändert wird. Hier muss MySQL derzeit noch passen.

Merkmale von MySQL und MaxDB
Merkmale von MySQL und MaxDB

Schwer wiegt für den Einsatz im ERP-Umfeld, dass MySQL keine Views unterstützt. Diese werden zum Beispiel von den SAP-Anwendungen zwingend benötigt. Views dienen dazu, Projektionen und Selektionen in einer Ansicht zusammenzuführen, auch über mehrere Tabellen hinweg. Das ist wichtig, wenn etwa zu einer bestimmten Materialnummer aus einer Tabelle die Lieferantendaten und aus einer anderen die Empfängerdaten in einer Zeile zusammengeführt werden sollen. Dass dieses Manko MySQL für den Einsatz in einer SAP-Umgebung ungeeignet macht, bestätigt auch MySQL-Manager Backman: "Für die Zusammenarbeit mit SAP-Applikationen muss es einfach MaxDB sein."