HSQLDB

HSQLDB (Hyper Structured Query Language Database) i​st eine freie, vollständig i​n Java programmierte relationale SQL-Datenbank (RDBMS) u​nd steht u​nter einer freien Lizenz n​ach dem Muster d​er BSD-Lizenz. Das Projekt bezeichnet s​ich selbst a​ls „Lightweight 100 % Java SQL Database Engine“ u​nd basiert a​uf Thomas Müllers n​icht mehr fortgeführtem Hypersonic SQL Project.

HSQLDB

HSQL-Database-Manager
Basisdaten
Maintainer Fred Toussi[1]
Erscheinungsjahr 2001
Aktuelle Version 2.6.1[2]
(21. Oktober 2021)
Betriebssystem Plattformunabhängig
Programmiersprache Java[3]
Kategorie Datenbankmanagementsystem
Lizenz BSD-Lizenz
deutschsprachig nein
hsqldb.org

Mit z​u dem HSQL-Paket gehört n​eben dem Server e​in SQL-Client (Database-Manager), d​er sowohl i​m Server- a​ls auch i​m Standalone-Modus funktioniert. HSQLDB k​ann als eingebettetes Datenbanksystem i​n andere Applikationen integriert werden.

Eigenschaften

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 d​er SQL-Standards 92, 99 u​nd 2003. HSQLDB g​ibt es i​n mehreren Versionen:

Unterschied zu anderen Datenbanksystemen

HSQLDB unterscheidet s​ich dabei v​on anderen Datenbank-Systemen i​n 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

Der ursprüngliche Entwickler Thomas Müller arbeitet aktuell a​n der Open-Source-Datenbank H2 Database, welche ähnliche Ziele w​ie HSQLDB verfolgt.

Einzelnachweise

  1. HSQLDB Development. The Development Team. Das Entwicklungsteam. 5. Juni 2013, abgerufen am 8. August 2015 (englisch).
  2. sourceforge.net.
  3. The hsqldb Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 18. Juli 2018).
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.