Stable release |
1.4.193 / October 31, 2016
|
---|---|
Written in | Java |
Operating system | Cross-platform |
Type | Relational Database Management System |
License | Eclipse Public License or Mozilla Public License 2.0 |
Website | http://www.h2database.com/ |
H2 is a relational database management system written in Java. It can be embedded in Java applications or run in the client-server mode.
The software is available as open source software Mozilla Public License 2.0 or the original Eclipse Public License.
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.
It is possible to create both in-memory tables, as well as disk-based tables. Tables can be persistent or temporary. Index types are hash table and tree for in-memory tables, and b-tree for disk-based tables. All data manipulation operations are transactional. Table level locking and multiversion concurrency control are implemented. The 2-phase commit protocol is supported as well, but no standard API for distributed transactions is implemented. The security features of the database are: role based access rights, encryption of the password using SHA-256 and data using the AES or the Tiny Encryption Algorithm, XTEA. The cryptographic features are available as functions inside the database as well. SSL / TLS connections are supported in the client-server mode, as well as when using the console application.