Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

21.02.2003 - 

Wesentliche Funktionen aber erst geplant

MySQL will in die Enterprise-Klasse aufsteigen

MÜNCHEN (ws) - Die Open-Source-Datenbank MySQL hat sich als System für Web-Anwendungen einen Namen gemacht. Neue Features sollen sie zukünftig auch für Enterprise-Aufgaben qualifizieren.

Im Vergleich zu den großen kommerziellen Konkurrenten bemängeln Anwender bei MySQL regelmäßig das Fehlen von vier wichtigen Features: Stored Procedures, Views, Triggers und volle referenzielle Integrität. Die Firma hinter der freien Datenbank, die schwedische MySQL AB, beschreibt in ihrem kürzlich vorgestellten Produktfahrplan, wie sie in den kommenden Versionen solche Defizite beseitigen möchte.

Damit die Company weiterhin das ganze Spektrum zwischen einfacher Web-Anwendung und Transaktionsverarbeitung abdecken kann, verfolgt sie schon seit längerer Zeit ein Plugin-Konzept für Storage Engines. MySQL unterstützt deshalb verschiedene Tabellentypen, für die jeweils eigene Datenbank-Backends zuständig sind. Die MySQL-eigene Indexed-Sequential-Access-Method(Isam-)Datenbank, deren aktuelle Ausführung unter dem Namen "MyIsam" firmiert, richtet sich vor allem an die angestammte Gruppe der Web-Entwickler.

MyIsam für Web-Anwendungen

Dieser Tabellentyp gilt nach wie vor als Standard unter MySQL und zeichnet sich durch hohe Verarbeitungsgeschwindigkeit und geringen Ressourcenverbrauch aus. Diese Vorzüge gehen auf Kosten der Transaktionssicherheit, weil die Engine auf Transaktions-Logging verzichtet. Gerade bei Web-Anwendungen, wo die Zahl der Lesezugriffe die Insert- und Update-Operationen bei weitem übertreffen, wird diese Einschränkung zugunsten höherer Geschwindigkeit häufig in Kauf genommen. Zur Kategorie dieser leichtgewichtigen Tabellen zählen neben MyIsam auch die veraltete "Isam" und die reine In-Memory-Datenbank "Heap".

Für den Enterprise-Einsatz baut der schwedische Hersteller seit rund zwei Jahren auf die Kooperation mit zwei anderen Firmen, der amerikanischen Sleepycat Software (http://www.sleepycat.com) und der finnischen Innobase Oy (http://www.innodb.com). Erstere entwickelte die Open-Source-Datenbank "Berkeley DB" (BDB), die in einigen freien Projekten verwendet wird, darunter im Verzeichnisdienst "Open LDAP" oder im Messaging-System "Sendmail". Eine wichtigere Rolle für die Transaktionsverarbeitung spielt für MySQL indes die "InnoDB", die ab der Version 4 als fester Bestandteil des Gesamtsystems ausgeliefert wird. Die BDB hingegen ist nur in der "Max"-Variante enthalten.

Die InnoDB wartet mit einer Reihe von Features auf, die für anspruchsvollere Anwendungen häufig gefordert werden. Dazu zählt neben Acid-konformen Transaktionen etwa Row-Level-Locking oder Unterstützung für referenzielle Integrität.

Das Modell einer zentralen Datenbankmaschine, die unterschiedliche Tabellentypen integriert, bietet dem Anwender große Flexibilität. Er kann abhängig von den Anforderungen einer Software spezifische Speicherverfahren auswählen und sogar Tabellen unterschiedlichen Typs innerhalb eines Programms mischen. Gleichzeitig konfrontiert dieses Konzept, indem es Datenbank-Backends verschiedener Herkunft kombiniert, den Nutzer mit erheblichen Inkonsistenzen. So bewirkt etwa das Rollback-Kommando gegenüber BDB- und InnoDB-Tabellen, dass Änderungen zurückgenommen werden, bei MyIsam löst es mangels Transaktionssicherheit einen Fehler aus.

Während unterschiedliche Features für jedes Modul zum Konzept von MySQL gehören, stiften derzeit noch voneinander abweichende Entwicklungsstände zusätzliche Verwirrung. So kennt MyIsam den Datentyp "Text" und bietet dafür einen Index für die Volltextrecherche an. Bei InnoDB hingegen ist diese Funktion erst für die fernere Zukunft geplant.

Der Produktfahrplan sieht daher vor, dass derartige Inkonsistenzen beseitigt und zudem wichtige Features übergreifend implementiert werden. Dazu zählt auch, dass referenzielle Integrität über verschiedene Tabellentypen hinweg gewährleistet werden soll. Die Version 4.0, die kurz vor der Freigabe steht, bringt vor allem Verbesserungen bei der Ausführungsgeschwindigkeit und bei bestehenden Features wie der Volltextsuche oder SSL-Verbindungen. Wesentliche neue Funktionen wie die Vereinheitlichung bei Fremdschlüsseln sind für MySQL 4.1 vorgesehen. Diese kann bereits in einer Alpha-Ausführung von http://www.mysql.com/downloads heruntergeladen werden. Eine wichtige Innovation erfährt das System dort zudem durch die Unterstützung verschachtelter Select-Klauseln.

Unvollständig SQL 99

Zu den zentralen Aufgaben gehört auch die vollständige Implementierung des Ansi-Standards SQL 99. Allerdings wird sich dieses Vorhaben möglicherweise noch bis zur Version 5 hinziehen. Sie darf frühestens Ende dieses Jahres erwartet werden. Für MySQL 5 nehmen sich die Skandinavier zudem die Realisierung von Triggers, Stored Procedures oder Views vor.

Views dienen vornehmlich dazu, für den Lesezugriff mehrere Relationen gegenüber Benutzern als eine Tabelle zu präsentieren. Bei der angestammten Kundschaft im Web-Umfeld spielt dieses Feature keine wesentliche Rolle, weil Entwickler dort üblicherweise ohnehin vollen Zugriff auf die Datenbank besitzen. Hingegen muss MySQL Views ebenso bieten wie Triggers und Stored Procedures, wenn es in der Enterprise-Klasse spielen will.

Die freie Datenbank befindet sich nach der Integration transaktionssicherer Backends im Übergang von einem leichtgewichtigen System für die Web-Nutzung zu einer Unternehmenssoftware. Bis die größten Inkonsistenzen ausgebügelt und die wichtigsten Standard-Features vollständig nachgerüstet sind, wird sich MySQL wohl im angestammten Einsatzgebiet sowie auf Abteilungsebene behaupten. Dafür spricht auch, dass es derzeit noch keine Cluster-Funktionen besitzt und Ausfallsicherheit nur über Replikation bietet. Dank guter Performance und Verfügbarkeit für beinahe alle Betriebssysteme könnte das freie System aber in ein oder zwei Jahren den großen Anbietern Anteile im Enterprise-Markt streitig machen.