Datensilos für den Schrebergarten
Die richtige Datenbank finden
Firebird
Firebird gehört zu den freien Datenbanken mit kommerzieller Vorgeschichte. In diesem Fall geht der Sprössling auf eine Affäre der Firma Borland mit der Open-Source-Community zurück, der im Jahr 2000 die sieche Datenbank Interbase 6.0 in der Hoffnung auf Wiederbelebung übergeben wurde. Diese Rechnung ging nicht auf, den Interbase-Code schloss Borland später wieder. Aus der kurzen Liaison war aber bereits Nachwuchs in Gestalt von Firebird hervorgegangen, das seinerseits aktive Anhänger in der Open-Source-Welt fand und sich bis heute weiterentwickelt. Momentan ist es in der Dritten Welt (namentlich in Brasilien) und Osteuropa verbreiteter als hierzulande oder in den USA.
Die Anwender finden in Firebird eine solide und zuverlässige SQL-Datenbank, der allerdings einige der fortgeschritteneren Features fehlen. So gibt es weder Cluster noch Load Balancing, keine Replikation, keine Volltextsuche, keine Tablespaces, keine Schemas, keine räumlichen Datentypen, und so weiter. Multi-Threading und Multi-Prozessor-Support kann man nur alternativ, aber nicht gleichzeitig haben.
Andererseits punktet Firebird mit einfacher Installation und guten Cross-Plattform-Fähigkeiten. In diesem Punkt stellt es beispielsweise auch PostgreSQL in den Schatten, das unter Windows lange ein Schattendasein fristete.
SQLite
SQLite nimmt in unserer Datenbankauswahl eine Sonderstellung ein: Im Unterschied zu den bereits vorgestellten Vertretern arbeitet es nicht nach dem Client-Server-Prinzip und eignet sich daher besonders dafür, in andere Applikationen eingebettet zu werden. Alle Tabellen landen in einem einzigen File, was zwar die maximale Größe der Datenbank auf den Umfang des größtmöglichen Files beschränkt, andererseits aber beispielsweise das Backup sehr vereinfacht. Von SQL beherrscht SQLite nur den Grundwortschatz, der allerdings für sehr viele Anwendungen vollkommen ausreicht. Als Lohn der Selbstbeschränkung wartet es dafür mit einfachster Installation, sehr guten Integrationsfähigkeiten und einer herausragenden Performance auf.
Glossar
Two-Phase-Commit
Zweistufiges Protokoll, dass es mehreren an einer Transaktion beteiligten Parteien erlaubt, zu der gemeinsamen Entscheidung zu kommen, ob die Transaktion als erfolgreich gelten kann oder abgebrochen und zurückgenommen werden muss.
MVCC
Multiversion Concurrency Control; Methode, die mehrfache Zugriffe auf dasselbe Datenbankobjekt so organisiert, dass es weder zu Wartezeiten noch Verklemmungen (Deadlocks) kommt.
ACID
steht für Atomicity, Consistency, Isolation und Durability. Damit sind Eigenschaften einer Transaktion gemeint, die garantieren, dass die Ergebnisse von Datenbankoperationen voneinander unabhängig, dauerhaft und konsistent sind sowie immer vollständig abgearbeitet oder zurückgenommen werden.
JDBC
Java Database Connectivity, universelle Datenbankschnittstelle, die es erlaubt, auf vereinheitlichte Art und Weise – und nicht nur unter Java – auf eine Vielzahl von Datenbanken zuzugreifen.
ODBC
Open Database Connectivity, eine weitere standardisierte Daten- und Programmierschnittstelle für Datenbanken, ursprünglich von Microsoft für Windows entwickelt, inzwischen aber auch unter Unix zu Hause.
Infos
[1] MySQL: http://dev.mysql.com
[2] PostgreSQL: http://www.postgresql.org
[3] Firebird: http://www.firebirdsql.org
[4] SQLite: http://www.sqlite.org
[5] SQL-Einführung: Frauke Oster, "Sichere Bank", LinuxUser 06/2006, S. 38, http://www.linux-user.de/ausgabe/2006/06/038-sql/
[6] MySQL Administrator: http://www.mysql.de/products/tools/administrator
[7] PgAdmin III: http://www.pgadmin.org
[8] PgAccess: http://www.pgaccess.org
[9] FlameRobin: http://www.flamerobin.org



