Software:H2 Database Engine

From HandWiki
H2 Database Engine
Initial releaseDecember 2005; 20 years ago (2005-12)
Stable release
2.3.232 / November 8, 2024; 13 months ago (2024-11-08)
Written inJava
Operating systemCross-platform
TypeRelational Database Management System
LicenseEclipse Public License or Mozilla Public License 2.0
Websiteh2database.com

H2 is a relational database management system written in Java. It can be used as an embedded database in Java applications or run in client–server mode.[1]


History

The development of the H2 database engine started in May 2004, and first published in December 2005. The database engine was written by Thomas Mueller. He also developed the Java database engine Hypersonic SQL.[2] In 2001, the Hypersonic SQL project was stopped, and the HSQLDB Group was formed to continue work on the Hypersonic SQL code. The name H2 stands for Hypersonic 2, however H2 does not share code with Hypersonic SQL or HSQLDB. H2 is built from scratch.[3]

Version 2.0.x was released in January 2022.

Features

A subset of the SQL (Structured Query Language) standard is supported. The main programming APIs are SQL and JDBC, however the database also supports using the PostgreSQL ODBC driver by acting like a PostgreSQL server.[4]


The database supports protection against SQL injection by enforcing the use of parameterized statements. In H2, this feature is called 'disabling literals'.[5]


A simple form of high availability is implemented: when used in the client–server mode, the database engine supports hot failover (this is commonly known as clustering). However, the clustering mode must be enabled manually after a failure.[6]

Since version 1.1.111, H2 in-memory database can run inside the Google App Engine.[7]

See also

References