Freie Datenbanken im Unternehmenseinsatz: Ein Vergleich

Seite 3: Freie Datenbanken im Unternehmenseinsatz: Ein Vergleich

Inhaltsverzeichnis

Firebird basiert auf InterBase, dem Datenbankmanagementsystem der Firma Borland. Dadurch reichen seine Wurzeln zurück bis 1984. Im Jahr 2000 entschied sich Borland, den Quellcode von InterBase v6.0 freizugeben, da das Datenbanksystem über keinen nennenswerten Marktanteil mehr verfügte und man hoffte, durch kommerziellen Support für ein durch frisches Blut aus der Open-Source-Community wiederbelebtes Produkt höhere Einnahmen zu erzielen als bisher über Lizenzkosten. Diese Rechnung ging offensichtlich nicht auf, denn wenig später (in Version 7.1) schloss Borland den Code wieder.

In der Zwischenzeit hatte sich jedoch eine aktive Community um die Codebasis gebildet, die die Software seitdem unter dem Namen Firebird eigenständig weiterentwickelt. Bisher ist Firebird in Westeuropa und den USA wesentlich weniger bekannt als etwa MySQL oder PostgreSQL, vor allem in Brasilien, Russland und der Ukraine aber weit verbreitet. Ein großer Teil der Anwender rekrutiert sich aus vormaligen InterBase-Kunden; einer der hierzulande bekanntesten Nutzer ist die Deutsche Presse Agentur (dpa).

Firebird bringt zwar einen soliden Grundstock an Funktionen mit, jedoch nur wenige anspruchsvollere Features. Es bietet immerhin zweiphasiges Commit (aber ohne Unterstützung des XA-Standards) und die Multi-Generational-Architecture (ein Locking-Mechanismus, welcher der Multi Versioning Concurrency Control (MVCC) entspricht). Hingegen fehlen Firebird die folgenden Funktionen, die die meisten anderen Datenbanken bieten:

  • Geographischer/räumlicher Datentyp
  • Schemas
  • Temporären Tabellen
  • Volltext-Suche
  • Indexierungsalgorithmen außer B-Tree
  • Replikation
  • Load Balancing
  • Clustering
  • Tabellen-Partitionierung
  • SSL-Verschlüsselung der Kommunikation zwischen Client und Server

Parallele Verarbeitung wird nur eingeschränkt unterstützt, je nachdem, welche Datenbankserver-Variante gewählt wird: Der Super Server bietet Multi-Threading, aber keinen Multi-Prozessor-Support. Beim Classic Server ist es genau umgekehrt.

Die Entwicklung an Ingres begann 1974 als Forschungsprojekt der University of California in Berkeley. 1982 wurde Ingres unter dem Dach der Firma Ingres Corporation kommerzialisiert. Das Unternehmen wurde dann zwölf Jahre später von Computer Associates (CA) gekauft. Derselben Logik wie Borland folgend, veröffentlichte CA im Jahre 2004 den Quellcode von Ingres, bot aber weiterhin kommerziellen und Community-Support an. Im Herbst 2005 gliederte CA Ingres aus und verkaufte das Datenbanksystem an die Investment-Firma Garnett & Helfrich Capital, die es nun wiederum unter dem Namen Ingres Corporation weiterhin als Open Source anbietet.

Als älteste der fünf Open-Source-Datenbanken verfügt Ingres selbstverständlich über ein großes Arsenal von Funktionen. Besonders herauszuheben sind dabei der volle XML-Support, die GIS-Funktionalität, nutzerdefinierte Datentypen, Multi-Master-Replikation und Tabellen-Partitionierung. Ingres unterstützt Multi-Threading genauso wie Multi-Processing und bietet außerdem Abfrage-Parallelisierung: Die Bearbeitung eines SQL-Statements kann durch mehrere Prozessoren gleichzeitig erfolgen.

Allerdings fehlen so wichtige Features wie BEFORE-Trigger, Updatable Views, Volltext-Indexierung, MVCC (nur Locking auf Zeilen-Ebene), CHECK-Bedingungen, Tablespaces und SSL-Verschlüsselung.

Die Wurzeln von MaxDB liegen in Deutschland, wo die TU Berlin das System zunächst als Forschungsprojekt namens Distributed Databases on Mini-Computers entwickelte. 1981 wurde es von Nixdorf unter dem Namen DDB/4 kommerzialisiert und 1993 von der Software AG übernommen, die die Datenbank zunächst in Entire SQL DB Server, später in Adabas D umbenannte. SAP übernahm die Software im Jahr 1997 und änderte erneut den Namen, diesmal in SAP DB.

2000 stellte SAP die Datenbank als Open Source unter die GPL. Drei Jahre später gingen SAP und MySQL AB eine Partnerschaft ein, die MySQL sowohl den Vertrieb und die Weiterentwicklung als auch eine erneute Umbenennung des Datenbanksystems erlaubte. Entwicket wird MaxDB jedoch weiterhin nahezu ausschließlich von SAP, was auch die SAP-Zertizierung mit einschließt.

MySQL AB offeriert seine Produkte unter einer so genannten dualen Lizenzierung: Nutzt man die Software im Rahmen einer Applikation genutzt, die selbst unter der GPL steht, ist das Produkt kostenfrei. Ist dies nicht der Fall, etwa beim Einsatz der Datenbank als Backend einer kommerziellen Closed-Source-Applikation, so bietet MySQL AB eine kommerzielle Lizenzierung (mit Lizenzkosten) an.

SAP nutzte das Datenbanksystem als Backend der hauseigenen Großanwendungen wie SAP R/3. Es ist daher weltweit in SAP-Systemen so bekannter Firmen wie Toyota, Intel, DaimlerChrysler, Bayer, Yamaha und der Deutschen Post zu finden.

Die Stärken von MaxDB liegen vor allem in der parallelen Verarbeitung: Neben Ingres ist es das einzige System, das sowohl Multi-Threading als auch Multi-Processing und außerdem die parallele Abfrage-Bearbeitung beherrscht. Auch im Bereich von Backup und Recovery kann MaxDB punkten: Komplette Backups im laufenden Betrieb werden genauso unterstützt wie Point-in-Time Recovery und Savepoints. Daneben beherrscht die Datenbank Replikation und Clustering, jedoch fehlt die Möglichkeit, Lasten im Cluster zu verteilen: Load-Balancing funktioniert nur zwischen den Prozessoren einer Maschine.

Die Liste der fehlenden Features wird noch länger: Man vermisst einen räumlichen Datentyp, BEFORE-Trigger (geplant für Version 7.7), sämtliche Indexierungs-Algorithmen außer B*-Tree, zweiphasiges Commit, MVCC (geplant für Version 7.7), nutzerdefinierte Datentypen, kaskadierendes UPDATE, Tablespaces und Tabellen-Partitionierung.

Der Wechsel von Version 7.5 auf 7.6 brachte einige interessante neue Features, zum Beispiel bietet MaxDB nun Replikation per Synchronisation Manager sowie nutzerdenierte Funktionen.