Da staunen selbst die ganz Großen - Teil 2

15.07.2004
Kostenlose Opensource-Datenbanken werden im professionellen Bereich immer beliebter. Sie bieten einen ähnlichenFunktionsumfang wie kommerzielle Systeme - und das bei erheblicher Kostenersparnis und höherer Flexibilität. Von Klaus Manhart

Fortsetzung von Ausgabe 28/04, Seite 37.

MySQL

MySQL ist ein leistungsfähiges relationales Datenbankmanagement-System für die Entwicklung und den Einsatz von Web-Seiten sowie Geschäftsanwendungen. Der freie und schnelle Datenbank-Server gehört mit über vier Millionen Installationen zu den am weitesten verbreiteten Datenbank-Systemen. Ursprünglich von dem Finnen Michael Widenius für seinen Arbeitgeber TCX entwickelt wurde MySQL 1.0 1995 als Opensource freigegeben und wird seitdem durch die schwedische Firma MySQL AB mit Widenius als CTO verwaltet.

Haupteinsatzgebiet von MySQL ist das Internet im Kontext mit dynamischen Webseiten; das Zusammenspiel zwischen Linux, Apache, MySQL und PHP wird allgemein hoch gelobt. Durch seine Schnelligkeit mauserte sich MySQL zudem zu einem Quasi-Standard als Back-end für Websites und mittelgroße Projekte. Sein Ruf, schlank, schnell, stabil und leicht administrierbar zu sein, hat viele Webhoster wie Strato oder 1&1 veranlasst, das Datenbank-System standardmäßig ihren Kunden anzubieten.

Der Datenbank-Server MySQL bietet eine umfangreiche Reihe sehr nützlicher Features, die im Überblick hier nachzulesen sind. Die herausragende Eigenschaften, die Geschwindigkeit und Bedienbarkeit, beruhen darauf, dass MySQL in der Vergangenheit auf Transaktionen verzichtete. Seit der Version 4 kann eine alternative Datenbank-Engine aber auch Transaktionen ausführen.

Die derzeit aktuelle und stabile Version ist MySQL 4.0. Im Vergleich zu den Vorversionen enthält die neue Version einen Abfrage-Cache, der die Geschwindigkeit vieler Anwendungen mit sich wiederholenden Abfragen verbessert, Optimierungen für die Beschleunigung von Abfragen wie eine Volltext-Indexierung oder Suche in gepackten Indizes sowie Funktionen für die einfache Migration von anderen Datenbanken auf MySQL. Mit dem Tabellenformat InnoDB gehören neuerdings auch Transaktionen, Row-Level-Locking, Multi-Versioning und Non-Locking-Lesevorgänge zu den Standard-Funktionen von MySQL. Außerdem enthält die Version 4.0 eine Embedded-MySQL-Server-Bibliothek, die die Einbettung des MySQL-Servers in Applikationen von Drittherstellern vereinfachen soll. Zudem unterstützt die neue Version sichere Verbindungen über die Secure Sockets Layer (SSL). Weitere Informationen über neue Funktionen in MySQL 4.0 sind auf der Website erhältlich.

Während MySQL 4.0 in zahlreichen professionellen Anwendungen bereits erfolgreich eingesetzt wird, ist dies bei der Version 4.1 nicht der Fall. MySQL 4.1 hat derzeit Alpha-Status und ist bislang eher für Entwickler interessant. Mit der Version 4.1 verspricht MySQL die Unterstützung von Subqueries, geografischen Datentypen, bis zu 64 Gigabyte Hauptspeicher in 32-Bit-Windows-Umgebungen und eine bessere Unicode-Unterstützung. Zudem soll die Verwendung von B-Trees bei Tabellen im Speicher weiter für eine bessere Performance sorgen. Ende 2003 soll zudem eine erste Version von MySQL 5.0 erscheinen, die dann auch Stored Procedures und Triggers unterstützen soll.

MySQL-Varianten

Aktuell ist der Datenbank-Server MySQL in vier verschiedenen Varianten verfügbar:

- MySQL Standard enthält die Standard Storage Engines von MySQL sowie die InnoDB Storage Engine. InnoDB ist eine transaktionssichere ACID-konforme Storage Engine mit Commit, Rollback, Absturz-Wiederherstellung und der Möglichkeit, Datensätze auf Zeilenebene zu sperren. Diese Variante ist für alle Anwender gedacht, die MySQL mit voller Transaktionsunterstützung nutzen möchten.

- MySQL Pro ist die Variante mit kommerzieller Lizenz des MySQL Standard Datenbank Servers mit den gleichen Eigenschaften, einschließlich InnoDB-Unterstützung.

- MySQL Max ist vor allem für Entwickler interessant, die frühzeitig Zugang zu neuen Funktionen und Eigenschaften haben möchten. Diese Variante beinhaltet die Standard Storage Engines, die InndoDB Storage Engine und andere Extras wie die Berkley Database (BDB) Storage Engine und SSL Transport-Layer-Verschlüsselung.

- MySQL Classic enthält nur die Standard MySQL Storage Engines und unterscheidet sich von der Standard- und Pro-Version dadurch, dass die InnoDB Storage Engine nicht enthalten ist. MySQL Classic ist nur als kommerzielle Lizenz erhältlich.

MySQL Standard und Max stehen unter der GPL zur Verfügung und können für Windows, MacOS X, Linux und die alle wichtigen Unix-Varianten wie Solaris, HP-UX, IMB AIX und SCO OpenUnix eingesetzt werden.

PostgreSQL

Während das schnelle und schlanke MySQL das beliebteste freie Datenbanksystem im Web-Umfeld ist, dürfte PostgreSQL zusammen mit SAP DB das derzeit am weitesten entwickelte Opensource-System sein. PostgreSQL stammt ursprünglich von der Universität Berkeley und ist manchem noch unter der Bezeichnung Ingres bekannt. Die Entwicklung begann bereits 1986, 1988 wurde es der Öffentlichkeit vorgestellt. Seit 1996 wird es von einer Gruppe weltweit verstreuter Opensource-Programmierer vorangetrieben.

Bedingt durch die lange Geschichte ist PostgreSQL zu einem sehr leistungsfähigen Datenbank-System gereift. Mit seinen Merkmalen wie Transaktionen, benutzerdefinierten Funktionen, Stored Procedures, Triggers und Subqueries braucht es sich vor den kommerziellen Pedants von Oracle oder IBM nicht zu verstecken. Damit ist PostgreSQL im Vergleich zu MySQL auch hohen betrieblichen Ansprüchen gewachsen ist und lässt sich sehr gut für typische transaktionsorientierte Systeme, etwa im Finanzbereich, einsetzen. Entsprechend wird es heute von vielen großen Unternehmen wie BASF, RedHat, Cisco, Chrysler und 3Com verwendet.

PostgreSQL versteht sich als "objekt-relationales" Datenbankmanagement-System. "Objekt-relational" bedeutet, dass zu den bekannten Eigenschaften der relationalen Datenbanken dem Entwickler zusätzliche Möglichkeiten der objektorientierten Programmierung angeboten werden. Dies prädestiniert das System auch unter dieser Perspektive für komplexere Anwendungen. Es ist zudem für große Datenbestände gut geeignet, da es dem Benutzer fast keine Einschränkungen auferlegt. So können Tabellen unbegrenzt groß sein und bis zu 1600 Spalten enthalten.

Die aktuelle Version hat die Nummer 7.3 und beinhaltet im Vergleich zu den Vorversionen einige neue Features. So unterstützt PostgreSQL 7.3 die Schema-Spezifikation von SQL92, wodurch das betriebliche Datenmanagement und die Sicherheit verbessert werden. Zudem wurde die Definition von Datenbankfunktionen, die Ergebnismengen aus Zeilen und Spalten zurückgeben, erheblich vereinfacht. Dadurch wird der Nutzen von selbstdefinierten Funktionen in PostgreSQL beträchtlich gesteigert und außerdem die Übernahme von Oracle-Anwendungen nach PostgreSQL erleichtert. Hinzu kommen weitere Neuerungen wie die verbesserte Verfolgung der Abhängigkeiten für große Datenbanken, Prepared Queries für verbesserte Leistung bei häufigen Abfragen oder die Unterstützung von Daten in vielen internationalen Zeichensätzen.

PostgreSQL - Varianten

PostgreSQL steht sowohl für den kommerziellen als auch den nicht-kommerziellen Gebrauch unter der BSD-Lizenz zur Verfügung und wird für Solaris, SunOS, HPUX, AIX, Linux, Irix, FreeBSD und viele andere Unix-Systeme angeboten. Eine Windows-Version gibt esderzeit nicht, entsprechende Unix-Umgebungen für Windows wie Cygwin bieten hier jedoch einen Ausweg.

PostgreSQL ist mittlerweile auch in allen großen Linux-Distributionen enthalten. Linux-User können also auf den gewohnten Installer von CD-ROM zurückgreifen, falls die Pakete noch nicht auf dem System eingerichtet sind. Die aktuellen Versionen sind aber in der Regel nicht enthalten, sondern müssen direkt von der Website bezogen werden.

SAP DB

SAP DB ist eine Opensource-Datenbank, die vom Walldorfer Unternehmen SAP entwickelt, ausgeliefert und gewartet wird. SAP macht seinen Umsatz hauptsächlich mit Unternehmensanwendungen wie mySAP und R/3.

SAP DB geht zurück auf ein Forschungsprojekt an der Technischen Universität Berlin im Jahr 1977 und war zunächst ein Abkömmling der Datenbank Adabas. SAP übernahm 1997 die zuletzt von der SQL Datenbanksysteme GmbH entwickelte Technologie, um die Weiterentwicklung des Produkts und die Unterstützung der Kunden, die SAP-Lösungen mit Adabas betreiben, zu sichern. Die Datenbank wurde dann in kritischen Bereichen verbessert und in SAP DB umbenannt. Seit dem Jahr 2000 wird sie als Opensource-Projekt unter der GPL weitergeführt.

Die Verwurzelung im Software-Unternehmen SAP ist dafür verantwortlich, dass SAP DB zielgerichtet auf Unternehmensbedürfnisse ausgerichtet ist. Funktionen wie Referenzielle Integrität, Stored Procedures, Transaktionen, Online Backup und Kompatibilität mit namhaften Backup Tools prädestinieren SAP DB für den Unternehmenseinsatz.

Hinzu kommen noch eine hohe Performance und Robustheit. Die Datenbank kann Tausende von gleichzeitig aktiven Benutzern bedienen und sehr große Datenvolumina bearbeiten. Zu den Architekturmerkmalen, die maßgeblich für kurze Antwortzeiten und hohen Durchsatz sind, zählen effektive Sperrmechanismen (Locking), ein effizientes Caching von Daten, die intelligente Optimierung von SQL-Kommandos, die weit gehende Parallelisierung von Lese- und Schreibvorgängen sowie Strategien zur Minimierung der notwendigen Schreiboperationen. Die SAP DB ist zudem für den unterbrechungsfreien Rund-um-die-Uhr-Betrieb ausgelegt. Erforderliche Wartungsaufgaben wie Konfigurationsanpassungen, die Erweiterung von Daten- oder Logbereichen, die Datensicherung, das Anlegen von Tabellenindices etc. lassen sich während des laufenden Betriebs vornehmen, ohne dass die aktiven Anwender beeinträchtigt werden.

Die SAP DB ist für SQL92 zertifiziert und bietet auch wichtige Bestandteile von SQL99 und neueren ANSI-Funktionen. SQL-Programme, die für andere Datenbanksysteme erstellt wurden, lassen sich für den SAP-DB-Einsatz portieren. Als Schnittstellen zur Datenbank werden unter anderem ODBC, JDBC und der Anschluss an Scriptsprachen wie Perl, Phython und PHP unterstützt. Eine einfach bedienbare, grafische Admin-Oberfläche (DBM-GUI), über die sich mehrere SAP DBs von einem Arbeitsplatz beziehungsweise einem Screen aus verwalten lassen, erleichtern dem User den Umgang mit der Datenbank.

SAP DB - Varianten

Die SAP DB steht mit gleichem Leistungsumfang für Linux, IBM AIX, Solaris, HP-UX, Siemens Unix sowie Windows NT, 2000 und XP zur Verfügung. Der Quellcode der Datenbank kann unter der GPL kostenlos genutzt werden. Auf der Website http://www.sapdb.org finden interessierte Anwender sowohl alle Sourcen zum Datenbank-Server, die ODBC-Treiber und die administrativen Tools wie das DBM-GUI und SQL Studio. Nutzer der SAP DB außerhalb der SAP-Anwenderschaft erhalten zusätzlich kostenlosen Online-Support per E-Mail über die SAP-DB-Mailing-Liste (sapdb.general@listserv.sap.com), in der die Anwender der Datenbank ihre Erfahrungen austauschen. Die Liste wird von Mitarbeitern des SAP-DB-Teams moderiert. Auf Wunsch kann man einen Premium-Support-Vertrag abschließen, der vollen Zugriff auf die Service-Infrastruktur der SAP gewährt.

Firebird

Firebird basiert auf der Opensource-Variante von Borlands Datenbank Interbase 6 aus dem Jahre 2000. Interbase wurde ursprünglich von einem gleichnamigen Unternehmen entwickelt und später von Borland aufgekauft. Als die Datenbank kommerziell nicht mehr erfolgreich war, erklärte Borland Interbase kurzerhand zum Opensouce-Projekt und gab die Quelltexte frei. Inzwischen wird Interbase zwar wieder von Borland weiterentwickelt, aber die kommerzielle und die Opensource-Variante haben sich getrennt.

Seit der Freigabe von Interbase 6 durch Borland firmiert dieses in der Opensource-Variante unter dem Namen Firebird und wird von einer sehr aktiven und kompetenten Gemeinde weiterentwickelt. Zusätzliche Unterstützung erfährt das Projekt durch eine eigens gegründete Stiftung, die FirebirdSQL Foundation. Sie ist auch unter dem Namen "Phoenix" bekannt.

Aufgrund seiner Herkunft ist Firebird mächtiger und beinhaltet mehr Features als MySQL. Allerdings ist Firebird eher für Datenbank-Entwickler interessant, und von diesen vor allem für jene, die mit Borland-Werkzeugen arbeiten.

Die derzeit aktuelle und stabile Version hat die Nummer 1.02 und bietet unter anderem ein verbessertes Dependency Checking, Unterstützung für 64-Bit File I/O sowie Large Database File Support, was einzelne Firebird-Datenbanken mit bis zu 980 GB ermöglicht. Derzeit arbeiten die Entwickler an Firebird 1.5, wobei der Original-Code in C++ portiert sowie ein deutlich verbessertes Ausnahme-Handling und Speichermanagement eingeführt werden soll.

Firebird 1.02 kann unter Win32, Linux und praktisch allen gängigen Unix-Dialekten unter der MPL-Lizenz eingesetzt werden. Bei Sourceforge.net finden sich die Quellen für alle Betriebssysteme und die Dokumentationen. Entwickler, die auf dieser Datenbank aufsetzen wollen, können sich dabei auf den Support einer sehr hilfsbereiten Community verlassen. Auch für Firmen, die sich mit Konzepten wie "Community" schwer tun, gibt es die richtigen Ansprechpartner: Die IBPhoenix-Organisation bietet professionelle Dienste wie Support, Training und Beratung gegen entsprechendes Entgelt an. Aufgrund der engen Verwandtschaft mit Interbase besteht auch immer noch die Möglichkeit, auf diese kommerzielle Variante zu wechseln und dadurch auch den Support von Firmen in Anspruch zu nehmen bzw. auf die Borland-Foren zu Interbase zurückzugreifen.

Fazit

Für welche dieser Opensource-Systeme man sich entscheidet, hängt stark von den Anforderungen ab. Jede der Datenbanken hat ihre Stärken und Schwächen. MySQL brilliert mit seiner Schlankheit und Schnelligkeit und entfaltet besonders bei Internet-Anwendungen seine Vorzüge. Dazu kommen die einfache Administration, ein großer Funktionsumfang und der breite Support. Dafür fehlt es an professionellen Funktionen wie Stored Procedures oder Triggers, die kommerzielle Datenbankanwendungen benötigen, und die für die Version 5.0 angekündigt sind.

Diese fehlenden Funktionen stellt PostgeSQL zur Verfügung. Dieses objektrelationale Datenbank-System empfiehlt sich dann, wenn weniger auf Schnelligkeit als auf großen Leistungsumfang und unternehmensweiten Einsatz Wert gelegt wird. Durch die umfangreichen Features genießt PostgreSQL nicht nur im Opensource-Umfeld einen hervorragenden Ruf. Namhafte Firmen wie BASF oder Cisco haben PostgreSQL schon längere Zeit im Einsatz.

Vom Funktionsumfang ähnlich leistungsfähig wie PostgreSQL präsentiert sich Firebird, es entfaltet seine Vorzüge aber vor allem bei der Entwicklung von Datenbank-Anwendungen, insbesondere wenn mit Borland-Werkzeugen gearbeitet wird. Hinzu kommt die gute Unterstützung seitens der Firebird-Community.

Gibt es Anforderungen, die auch von PostgreSQL oder Firebird nicht erfüllt werden, sollte über den Einsatz der SAP DB nachgedacht werden. SAP DB ist voll auf Datenbank-Anwendungen im Unternehmensbereich zugeschnitten und bietet reichhaltige Features. Besonders im Bereich Datensicherheit ist es konkurrenzlos und hat als einziges die Möglichkeit eines Online-Backups. Hinzu kommt der Support durch SAP.

tecchannel-Compact "ITechnologie-Ratgeber 2004"

tecChannel.de ist die Nummer eins der Online-Fachmedien in Deutschland (IVW 1/04). Auf www.tecChannel.de finden Sie mehr als 1.700 Beiträge und über 14.000 News zu allen Themen der IT. Das kostenlose Online-Programm wird ergänzt durch das noch umfangreichere kostenpflichtige tecCHANNEL-Premium- und die tecCHANNEL-Compact-Buchreihe.

Im neuen tecCHANNEL-Compact "ITechnologie-Ratgeber 2004" finden professionelle Anwender auf über 220 Seiten Grundlagen, Know-how-, Ratgeber- und Praxisbeiträge.

Insbesondere im Server-, Desktop- und Mobile-Bereich steht ein Generationswechsel bevor. Die Einführung von PCI Express und neuen CPUs, wie Pentium 4 "Prescott" und Pentium M "Centrino", 64-Bit-Computing, sowie der DDR2-Speichertechnologie und Serial Attached SCSI verunsichert die IT-Branche. Die tecCHANNEL-Redaktion beantwortet die Fragen, welche Technologien zukunftssicher sind und die bevorstehenden Investitionen schützen und was beim Umstieg zu beachten ist.

Die Ausgabe ist ab sofort im Handel zu haben oder direkt im Online-Shop unter www.tecChannel.de/shop für 9,90 Euro (gegen Rechnung) inklusive Versandkosten zu bestellen.

Zur Startseite