HSQLDB

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
HSQLDB
Entwickler Thomas Müller
Aktuelle Version 2.3.1
(8. Juli 2013)
Betriebssystem plattformübergreifend
Kategorie Datenbanken
Lizenz modifizierte BSD-Lizenz[1]
hsqldb.org
HSQL Database Manager

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.

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. HSQL kann als eingebettetes Datenbanksystem in andere Applikationen integriert werden.

Eigenschaften[Bearbeiten]

In der Geschwindigkeit ist HSQL 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. HSQL ist in OpenOffice.org 2.0 integriert, um eine MS-Access-ähnliche Anwendung zu bieten.

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

Unterschied zu anderen Datenbanksystemen[Bearbeiten]

HSQL 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 GB. 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.

Weblinks[Bearbeiten]

Quellen[Bearbeiten]

  1. http://www.hsqldb.org/web/hsqlLicense.html