Open Source

Freie Datenbanken im Vergleich

Relationale Datenbanken bilden das Rückgrat jeder modernen Geschäftsanwendung. Dabei machen Open-Source-Plattformen wie MySQL oder PostgreSQL in Spezialbereichen den proprietären Produkten zunehmend Konkurrenz.

Relationale Datenbanken sind die wichtigste Komponente einer modernen mehrschichtigen Software: Sie bilden die zentrale Speicherstelle für Informationen jeder Art. Auf Tabellen und deren Verknüpfungen untereinander lassen sich beliebige Daten der realen Welt abbilden - Rechnungen, Fahrpläne oder Bestellungen im Flugzeugbau ebenso wie Web-basierende Wiki-Systeme. Ein deutlicher Trend der letzten Jahre ist, dass sich in den Unternehmen freie Lösungen verbreiten.

Besonders der schwedische Anbieter MySQL hat sich im Umfeld von Web-Anwendungen einen Namen gemacht - und wurde von Sun Microsystems übernommen. Profitiert die Datenbank bereits vom Lamp-Stack (Linux, Apache, MySQL und PHP etc.), wird sie mit der Akquisition auch in das Zentrum der Java-Welt vorstoßen und sich hier in den nächsten Jahren noch stärker als bisher etablieren. Sun hat bereits angezeigt, dass die eigenen Produkte wie die Entwicklungsumgebung NetBeans oder der Applikations-Server GlassFish auf die reibungslose Verbindung mit MySQL getrimmt werden.

Neben PostgreSQL stehen so zwei Open-Source-Produkte mit jeweils hohem Anspruch der kommerziellen Konkurrenz von Microsoft, Oracle und IBM gegenüber. Zahlreiche andere freie Projekte haben ebenfalls interessante Lösungen entwickelt, so dass sich ein aktueller Blick auf den Markt in jedem Fall lohnt. Welche freien Datenbanken für welchen Zweck geeignet sind und wo sie noch Schwächen haben, wird im Folgenden aufgezeigt.

Auswahl einer Datenbank

Open-Source-Datenbanken zeigen sich zunächst als attraktive Alternative zu kostspieligen Lösungen von Oracle, Microsoft oder IBM. Bevor man aber den Einsatz einer freien Software plant, empfiehlt sogar das Bundesamt für Sicherheit in der Informationstechnik in einem Strategiepapier eine genaue Identifikation der Anforderungen an das System. Dabei kommt es zunächst darauf an, welche Datenmengen verarbeitet werden sollen: Ab mehreren Terabyte kommt man kaum an proprietären Lösungen vorbei. Eine kleine Web-Anwendung dagegen kann mit einer willkürlichen Auswahl problemlos leben.

Die spätere Skalierbarkeit des Systems wird entscheidend von der Betriebssystem- und Hardwareplattform beeinflusst, auf der eine Datenbank bereitgestellt wird. IBM zum Beispiel unterstützt neben der x86-Architektur auch den Mainframe. Oracle selbst hat vor wenigen Wochen sogar einen eigenen Hardware-Cluster mit integrierter Datenbank vorgestellt. Nur Microsoft bindet den Kunden an Windows - alle anderen Anbieter lassen im Wesentlichen freie Hand bei der Wahl des Betriebssystems. Insbesondere IBM und Oracle bieten die Datenbank-Server auch für zahlreiche Unix-Derivate an. Linux, Mac OS und Solaris gehören bei allen Anbietern zum Standard - sowohl für 32 Bit als auch für 64 Bit.

Die Benutzerverwaltung und ein ausgefeiltes Rechte-Management sind inzwischen Bestandteil eines jeden modernen Datenbank-Servers - hier gibt es kaum noch große Unterschiede. Deutlicher divergieren hingegen die Features zur Verfügbarkeit: Hier treffen in der Datenbankwelt sehr unterschiedliche Konzepte für Clustering und Backup auf den Kunden. Nicht einfacher machen es die diversen Angebote von Drittherstellern. Zum Schutz der Integrität muss eine ausgereifte Datenbank unbedingt über Transaktionen verfügen, die den Acid-Anforderungen genügen. Acid beschreibt gewünschte Transaktionseigenschaften und steht für Atomicity (Atomarität), Consistency (Konsistenz), Isolation (Isoliertheit) und Durability (Dauerhaftigkeit).

In kleinen und mittleren Unternehmen wird es oft versäumt, die Anforderungen an eine Datenbank sauber zu dokumentieren und regelmäßig den aktuellen Bedarf mit den eingesetzten Produkten beziehungsweise verfügbaren Lösungen zu vergleichen. Ein strukturierter Prozess ist hier enorm wichtig, wenn die IT-Landschaft gleichmäßig mit dem Unternehmen wachsen soll. Die Frage von proprietärer versus offener Lösung sollte auf keinen Fall unter dem Druck von Lizenzkosten, sondern anhand klar analysierter Fakten beantwortet werden.