H2 Database
# H2 Database

Die H2 Database Engine, kurz H2, ist ein in der Programmiersprache Java geschriebenes relationales Datenbankmanagementsystem. Das System kann wahlweise als JAR direkt in Java-Anwendungen eingebettet oder als Server betrieben werden. Als Schnittstellen zur Ansprache der mit dem System betriebenen Datenbanken stehen SQL und JDBC zur Verfügung.
H2 ist als Open-Source-Software für die Java-Plattform verfügbar.

## Geschichte

H2 wird seit 2004 von Thomas Müller entwickelt, einem Schweizer Softwareentwickler, der zuvor auch Hypersonic SQL schuf, dessen Entwicklung später als HSQLDB fortgeführt wurde. Im Dezember 2005 wurde H2 erstmals veröffentlicht. Der Name steht für „Hypersonic 2“; es handelt sich jedoch um eine vollständig neue Entwicklung.

## Funktionen

H2 unterstützt eine Teilmenge des SQL-Standards und beherrscht unter anderem referenzielle Integrität, Transaktionen, Clustering, Datenkompression, Verschlüsselung und SSL. Eine Volltextsuche ist implementiert. Optional können spezielle Kompatibilitäts-Modi für DB2, Apache Derby, HSQLDB, Microsoft SQL Server, MySQL, Oracle oder PostgreSQL aktiviert werden. Auf dem Umweg über die PostgreSQL-Kompatibilität kann das System auch per ODBC angesprochen werden.
Aufgrund der breiten Kompatibilität wird H2 häufig als Alternative zu den aufgezählten Datenbanksystemen eingesetzt, etwa wenn Probleme mit dem zuvor gewählten System auftreten oder ein schlankeres System wie H2 ausreicht.