Oracle, IBM, HSQLDB, SQLite: In-Memory-Datenbanken im Vergleich

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

SQLite

Über SQLite

SQLite ist eine lizenzbasierte Softwarebibliothek, die Unternehmen ein serverloses und eigenständiges SQL-Datenbankmanagementsystem bietet. Die eingebettete Datenbank-Engine ermöglicht es Entwicklern, mehrere Tabellen, Auslöser, Indizes und Ansichten von Daten in einer einzigen Festplattendatei zu verwalten und zusätzliche Dateien für zukünftige Zwecke in einem Rollback-Journal zu speichern. Zu den wichtigsten Funktionen von SQLite gehören Fremdschlüsselunterstützung, Fehler- und Warnprotokoll, Datenbankanalysator, Volltextsuche und JSON-Integration. Die Bibliothek verfügt über integrierte skalare SQL-Funktionen, mit denen Admins Datums- und Zeitstrings, Sprachausdrücke wie Syntax, Konstanten, if-then-else-Fälle und Between- oder Like-Vergleiche in Datenbanken verwalten können. Darüber hinaus können Nutzer mehrere Datenbanken an eine einzige Datenbankverbindung anhängen, um Programme schnell zu schreiben. SQLite bietet eine C-Sprachschnittstelle und eine Backup-API, mit der Unternehmen Inhalte aus Festplattendateien importieren oder exportieren und in der Datenbank speichern können. Es ist gegen eine einmalige Lizenzgebühr erhältlich.

SQLite Erfahrungen

Verwendete die Software für: Mehr als 2 Jahre

Übersetzen auf: Deutsch

Perfect database tool for embedded software

5.0 vor 4 Jahren

Kommentare: I work a lot with SQLite as it is the primary medium of local storage in Android devices (and by extension, Android applications) which I work with on a daily basis, and SQLite is just perfect for the purpose it serves on these devices. It's lightweight so you don't have to worry most times about how much of the user's storage space your database is going to take up. There's not much difference between the standard SQL commands and those used in SQLite, and many have reported that SQLite is a good starting and training resource for SQL in general.

Vorteile:

Doesn't need a separate server. Lightweight and portable. Integrates most of the commands, functions and syntax of other SQL software. Optimized for use on devices that need to store data locally. Large user base and community (support).

Nachteile:

All operations are locked to a single process, so it's not suitable for large scale database operations (which is not what you should be doing locally on a device anyway).

 

Leave a Reply

Your email address will not be published. Required fields are marked *