Oracle, IBM, HSQLDB, SQLite

In-Memory-Datenbanken im Vergleich

31.07.2012
Von Roland Stirnimann und Jan Ott

SQLite

Die In-Memory-Datenbank SQLite adressiert wie HSQLDB das Segment kleiner beziehungsweise mittelgroßer Installationen und eignet sich für Applikationen, die Daten in einem Cross-Platform-Format speichern sollen. Die Lösung ist außerdem gut als Embedded-Datenbank für MP3-Player oder PDAs sowie kleine Websites brauchbar. Das Produkt ist unter einer Public-Domain-Lizenz verfügbar und kann von den Anwendern kostenlos aus dem Netz heruntergeladen werden.

Im Gegensatz zu den meisten anderen Produkten erfordert SQLite keinerlei Installation oder Konfiguration. Der Grund: Die Datenbank ist nur wenige hundert Kilobyte groß und verfügt über keinen eigenen Server-Prozess. Die Daten werden von der Applikation direkt aus der Datendatei in den Speicher geladen. Als einzige externe Administrationsmöglichkeit bietet SQLite ein Command-Line-Interface an. Obwohl mehrere Applikationen die gleiche Datendatei verwenden können, ist die Datenbank laut Hersteller nicht auf hohe Parallelität ausgelegt. SQLite wird dennoch als Persistenz-Layer von Firefox, Skype, Apple und Adobe verwendet. Das breite Einsatzspektrum ist ein Beleg dafür, dass sich die Datenbank effektiv in Kombination mit vielen Programmiersprachen verwenden lässt. Neben der Unterstützung aller gängigen Plattformen kann die Datenbank zudem relativ einfach auf weitere Betriebssysteme portiert werden.

Die Datenbankmodelle im Vergleich*

In Memory

On Disk

Applikation und In Memory auf gleichem Server, verbunden mit "Direct Connect".

Verschiedene Server für Applikation und Datenbank.

Keine blockierenden Disk-I/O-Operationen beim Schreibvorgang in die Datenbank (Commit), da Verarbeitung im Hauptspeicher.

Blockierende I/O-Operation beim Commit, da der Log Buffer auf die HDD geschrieben wird.

Verlust von "Committed"-Daten möglich, da nur im Hauptspeicher (Log Buffer).

AKID (Atomarität, Konsistenz, Isoliertheit und Dauerhaftigkeit) garantiert.

Wenig Backup-Features, Datenverlust beim Server-Crash möglich.

Umfangreiche Backup-Features, Restore/Recover ohne Datenverlust.

Wenige Analyse-Tools bei Performance-Problemen (keine SQL Elapsed Time).

Umfangreiche Tools und Reporting-Möglichkeiten.

Keine parallelen Abfragen (Parallel Query).

Parallel Query vorhanden/möglich.

Bisher wenig Wissen vorhanden.

Viel Wissen vorhanden.

* Quelle: Trivadis

Zur Startseite