HSQLDB (Hyper Structured Query Language Database) ist eine freie, vollständig in Java programmierte relationale SQL-Datenbank (RDBMS) und steht unter einer freien Lizenz nach dem Muster der BSD-Lizenz. Das Projekt bezeichnet sich selbst als „Lightweight 100 % Java SQL Database Engine“ und basiert auf Thomas Müllers nicht mehr fortgeführtem Hypersonic SQL Project.

HSQLDB

Screenshot
HSQL-Database-Manager
Basisdaten

Hauptentwickler Fred Toussi[1]
Erscheinungsjahr 2001
Aktuelle Version 2.7.2[2]
(1. Juni 2023)
Betriebssystem Plattformunabhängig
Programmier­sprache Java[3]
Kategorie Datenbankmanagementsystem
Lizenz BSD-Lizenz
deutschsprachig nein
hsqldb.org

Mit zu dem HSQL-Paket gehört neben dem Server ein SQL-Client (Database-Manager), der sowohl im Server- als auch im Standalone-Modus funktioniert. HSQLDB kann als eingebettetes Datenbanksystem in andere Applikationen integriert werden.

Eigenschaften

Bearbeiten

In der Geschwindigkeit ist HSQLDB etwa gleichwertig zu MySQL. Die auf dem Datenträger gespeicherten Tabellentypen lassen sich im Nur-lesen-Modus betreiben, was zum Beispiel für Projekte auf CD-/DVD-Datenträgern von Vorteil ist. HSQLDB ist in OpenOffice.org und LibreOffice integriert, um eine MS-Access-ähnliche Anwendung zu bieten.

HSQLDB unterstützt große Teile der SQL-Standards 92, 99 und 2003. HSQLDB gibt es in mehreren Versionen:

Unterschied zu anderen Datenbanksystemen

Bearbeiten

HSQLDB unterscheidet sich dabei von anderen Datenbank-Systemen in vielerlei Hinsicht:

  • Größe: hsqldb.jar ist lediglich ~1 MB groß.
  • Integrierbarkeit: Das Paket bringt sowohl einen HSQL-Server mit, der SQL-Anfragen aus dem Netzwerk (per JDBC) entgegennimmt, als auch die Möglichkeit, die Datenbank vollständig ohne Server zu betreiben und damit in ein Programm zu integrieren. Die Kommunikation geht dann nur über API-Aufrufe und nicht über das Netzwerk vonstatten.
  • Flexibilität: als Tabellentypen stehen folgende Arten zur Verfügung:
    • Memory only: Alle Daten werden nur im Speicher vorgehalten und nicht auf dem Datenträger gespeichert. Änderungen gehen beim Beenden des Servers (bzw. der Applikation im Standalone-Modus) verloren.
    • Logdatei-Tabellen: Alle SQL-Befehle, die die Tabellen-Daten verändern (CREATE, ALTER, INSERT, UPDATE), werden in einer großen SQL-Logdatei gespeichert. Die Logdatei wird bei jedem Start wieder abgearbeitet und dann im Speicher abgelegt.
    • gecachte Tabellen: Auf dem Datenträger gespeicherte Tabellen, die beim Start nicht komplett in den Speicher gelesen werden müssen. Die Größenbeschränkung einer Tabelle und eines Feldes liegt derzeit bei 8 TB. Das Arbeiten auf solchen Tabellen geht sehr schnell vonstatten.

Mit HSQLDB verwandte Produkte

Bearbeiten

Der ursprüngliche Entwickler Thomas Müller arbeitet aktuell an der Open-Source-Datenbank H2 Database, welche ähnliche Ziele wie HSQLDB verfolgt.

Bearbeiten

Einzelnachweise

Bearbeiten
  1. HSQLDB Development. The Development Team. Das Entwicklungsteam. 5. Juni 2013, abgerufen am 8. August 2015 (englisch).
  2. HyperSQL version 2.7.2 released. 4. Juni 2023.
  3. The hsqldb Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 18. Juli 2018).