Welcome to H2, the Java SQL database. The main features of H2 are:
* Very fast, open source, JDBC API
* Embedded and server modes; in-memory databases
* Browser based Console application
* Small footprint: around 1 MB jar file size
Feature List
Main Features
* Very fast database engine
* Open source
* Written in Java
* Supports standard SQL, JDBC API
* Embedded and Server mode, Clustering support
* Strong security features
* The PostgreSQL ODBC Driver can be used
* Multi version concurrency
Additional Features
* Disk based or in-memory databases and tables, read-only database support, temporary tables
* Transaction support (read committed and serializable transaction isolation), 2-phase-commit
* Multiple connections, table level locking
* Cost based optimizer, using a genetic Algorithm for complex queries, zero-administration
* Scrollable and updatable result set support, large result set, external result sorting, functions can return a result set
* Encrypted database (AES or XTEA), SHA-256 password encryption, encryption functions, SSL
SQL Support
* Support for multiple schemas, information schema
* Referential integrity / foreign key constraints with cascade, check constraints
* Inner and outer joins, subqueries, read only views and inline views
* Triggers and Java functions / stored procedures
* Many built-in functions, including XML and lossless data compression
* Wide range of data types including large objects (BLOB/CLOB) and arrays
* Sequence and autoincrement columns, computed columns (can be used for function based indexes)
* ORDER BY, GROUP BY, HAVING, UNION, LIMIT, TOP
* Collation support, users, roles
* Compatibility modes for IBM DB2, Apache Derby, HSQLDB, MS SQL Server, MySQL, Oracle, and PostgreSQL.