Terzett

Längst haben sich freie Datenbanken als ernsthafte Konkurrenten zu kommerziellen etabliert. iX stellt die Gemeinsamkeiten und Unterschiede der drei wichtigsten Open-Source-Produkte vor.

In Pocket speichern vorlesen Druckansicht 13 Kommentare lesen
Lesezeit: 3 Min.
Von
  • Hagen Höpfner

Heutzutage kommt kein moderner Internetauftritt mehr ohne dynamische Inhalte aus. Foren, Gästebücher, Nutzerverwaltungen, etc. bedienen sich der Funktionen, die Datenbankmanagementsysteme (DBMS) bereitstellen. Sie bieten Mechanismen zum Speichern, Verwalten und Anfragen von Daten, ohne dass sich Anwendungsprogrammierer um die Speicherdetails kümmern müssen. In der Open-Source-Welt existieren mehrere freie DBMS, deren Einsatz nicht auf Web-Applikationen beschränkt ist. Vielmehr lassen sie sich überall dort benutzen, wo eine Trennung von Daten und Anwendungslogik nötig ist. Im Folgenden geht es um die am weitesten verbreiteten Vertreter MySQL, PostgreSQL und Firebird. Alle drei implementieren das zwischen 1969 und 1970 von E. F. Codd eingeführte relationale Datenmodell, in dem, vereinfacht gesprochen, Daten als Tabellen gespeichert werden. Dennoch unterscheiden sie sich in ihrer Realisierung sowie den bereitgestellten Funktionen maßgeblich.

Der Artikel konzentriert sich auf wichtige DBMS-Konzepte wie Transaktionen, Indizes, Anbindung an Programmiersprachen sowie gespeicherte Prozeduren (Stored Procedures) und erläutert, wie die freien Implementierungen diese unterstützen. Zunächst jedoch eine kurze Vorstellung der Kandidaten - und zwar der jeweils als stabil gekennzeichneten Versionen. MySQL 5.1 befindet sich ebenso wie Firebird 2.0 in der Alpha- beziehungsweise Beta-Phase.

Hersteller des Datenbankmanagementsystems MySQL ist die Firma MySQL AB. Unter www.mysql.com stehen Binärpakete für Windows, Linux, die relevanten Unix-Derivate sowie einige andere Betriebssysteme bereit. Dort gibt es ebenfalls den unter der GPL2 stehenden Quellcode. Entwickler kommerzieller Anwendungen auf MySQL-Basis können das DBMS käuflich erwerben und es somit unter einer kommerziellen Lizenz nutzen.

Anders als die meisten anderen DBMS bringt MySQL eine Vielzahl unterschiedlicher Speichermanager mit. Streng genommen widerspricht diese Architektur den fundamentalen Grundsätzen des Einsatzes von Datenbanksystemen. Wie eingangs erwähnt ist das Ziel, dass Benutzer beziehungsweise Administratoren eines solchen Systems sich nicht um die eigentliche Speicherung kümmern müssen. MySQL verlangt aber zumindest vom Administrator Nachdenken über die Speicherform. Andererseits bringt MySQLs Modularisierung Vorteile: Es ist flexibler als andere DBMS, die nur einen Speichermanager anbieten, und lässt sich besser an den Einsatzfall anpassen. Wer beispielsweise für eine kleine Internetapplikation keine Transaktionen benötigt, benutzt eben MyISAM als Speicherformat. Sind sie hingegen unumgänglich, setzt man InnoDB oder BDB ein.

Welche anderen Backends es gibt, was PostgreSQL und Firebird können, wie die drei freien Systeme wichtige Datenbankfunktionen umsetzen und was die kostenlosen Express-Versionen von Oracle, SQL Server und DB2 bieten, steht in der aktuellen Print-Ausgabe. (ck)