Man könnte nun befürchten, dass das Einbetten einer eigenen SQL-Datenbank die Größe der Anwendung erheblich erhöht. Dies ist aber nicht der Fall. Die HSQLDB-Jar-Datei ist nur ca. 600 KByte groß – komplett mit einer umfangreichen Sammlung von Tools wie Database Managers –, was in den meisten Fällen mehr als akzeptabel sein sollte. Apache Derby ist ungefähr 2 MByte groß, ohne die Lokalisierungs-Jars und den Netzwerktreiber, die man je nach Bedarf ergänzen kann.
Es bleibt also die Frage, welche der Datenbanken man verwenden soll. Gegen HSQLDB spricht vor allem, dass es nicht ACID-konform ist, aber was in dieser Hinsicht fehlt, holt man in Sachen Performance wieder heraus. Es gibt viele Anwendungen, die gut ohne ACID auskommen, zum Beispiel indem sie strikt nur einen Thread verwenden.
Derby wiederum ist ACID-konform und insgesamt die leistungsfähigere Datenbank, mit vielen Funktionen. Die ACID-Fähigkeiten gehen allerdings zu Lasten der Performance. Die Benchmarktests von Jamie Lawrence (http://jamie.ideasasylum.com/notebook/index.php?id=4) vermitteln einen Eindruck von den Unterschieden zwischen Derby und HSQLDB, auch wenn sie nicht das letzte Wort sind.
Man kann es auch so halten, dass man sowohl HSQLDB als auch Derby parat hat und die Entscheidung, welches von beiden man verwendet, jeweils von Fall zu Fall trifft, wobei man an die Abstraktionsschicht denken sollte, damit der Wechsel der Datenbank einfach ist.
Neueste Kommentare
Noch keine Kommentare zu Eingebettete SQL-Datenbanken in Java
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.