Eingebettete SQL-Datenbanken in Java

Nicht selten steht man beim Einsatz einer SQL-Datenbank in Fragen der Entwicklung vor einem Dilemma. Für die einfache Bereitstellung einer Java-Anwendung kann man Tools wie Web Start einsetzen, um die Anwendung herunterzuladen und mit wenig mehr als einem Klick auszuführen. Aber sobald man aus Persistenzgründen eine SQL-Datenbank verwenden möchte, muss man die Datenbank und ihren Speicherort im System kennen. Schon diese anfängliche Konfiguration kann für viele Benutzer schwierig werden. Und wenn der Benutzer gar keine Datenbank zur Verfügung hat, kann er die Anwendung überhaupt nicht ausführen.

Eine Möglichkeit besteht darin, ein eigenes SQL-Datenbanksystem zu benutzen und dieses in die Anwendungen einzubetten. Es gibt eine Reihe von SQL-Datenbanksystemen in reinem Java, welche die Einbettung in Anwendungen unterstützen. Im Folgenden werden die bekanntesten Open Source-Projekte vorgestellt: HSQLDB und Apache Derby.

HSQLDB ist eine kompakte SQL-Datenbank, die ursprünglich unter dem Namen HSQL entwickelt wurde und sich auf Operationen „im Speicher“ konzentrierte. Ein Ableger wurde dann zu HSQLDB und entwickelte einen persistenten Festplattenmodus. HSQLDB wurde von Anfang an als Open Source-Software entwickelt, wobei die Performance im Laufe der Zeit immer besser wurde, sodass es inzwischen in der Lage ist, auch umfangreiche Datenbanken zu handhaben.

Apache Derby ist schon eine ausgewachsenere Datenbank mit den Eigenschaften eines klassischen RDBMS. Die Anwendung ist mehr als festplattenbasierte denn als speicherbasierte Datenbank gedacht. Derzeit gibt es am Markt das so genannte Apache Incubator-Projekt, welches dem Apache-Projekt erst vor kurzem durch IBM zur Verfügung gestellt wurde. Die Ursprünge von Apache Derby kann man über IBM und Informix bis hin zu Cloudscape zurückverfolgen, wo es in einer Closed Source-Umgebung entwickelt wurde. Daraus erklärt sich die „Incubator“-Phase bei der Übernahme durch Apache, da Derby seine eigene Community mitbringt.

Pithy

Um zu zeigen, wie eine solche Einbettung funktioniert, können hier zwei Beispiel-Implementierungen einer Anwendung namens Pithy heruntergeladen werden. Pithy ist eine einfache Datenbank zur Speicherung markiger (pithy) Sprüche. Jedes Pithy-Objekt hat eine ID-Nummer, eine Kategorie und ein Zitat. Man kann Objekte hinzufügen oder ein zufälliges Zitat aus allen Zitaten oder auch nur aus einer bestimmten Kategorie abrufen. Eine einfache Kommandozeilenschnittstelle ermöglicht das Starten und Stoppen des eingebetteten Servers sowie das Laden von Testdaten.

Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

KI-gestütztes Programmieren bringt IT-Herausforderungen mit sich

OutSystems-Studie: 62 Prozent der Befragten haben Sicherheits- und Governance-Bedenken bei Softwareentwicklung mit KI-Unterstützung.

6 Stunden ago

Studie: Ein Drittel aller E-Mails an Unternehmen sind unerwünscht

Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…

3 Tagen ago

HubPhish: Phishing-Kampagne zielt auf europäische Unternehmen

Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…

4 Tagen ago

1. Januar 2025: Umstieg auf E-Rechnung im B2B-Geschäftsverkehr

Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.

4 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…

4 Tagen ago

Erreichbarkeit im Weihnachtsurlaub weiterhin hoch

Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…

5 Tagen ago