About H2 database

H2 database is a Java-based database available for both embedded or client/server use. It’s very small and requires just 1.5MB of disk space. Created by Thomas Müller, man behind HyperSQL/HSQLDB, H2 is an improvement over his earlier work on HSQLDB. He was forced to stop working on HyperSQL by his then employer. When that company ran out of money 5 years later, Thomas decided that it makes more sense to do a fresh start and make radical changes than try to improve HSQLDB.

We support H2 directly in our products! You don't need separate drivers and can immediately connect to your database.

H2 supports durable disk-based tables, as well as in-memory tables (which are, of course, very fast). It can even emulate PostgreSQL when connected via Postgres’s ODBC driver. Multi-version concurrently control, table-locking, full-text search and data encryption are built-in – a surprisingly rich functionality for such a tiny database engine.

As an embedded database, H2 is very good. It’s fast, trivial to use – and works well. Many developers use it as an integration test database (we use it for that, as well).

All our applications are .NET applications. We opted to support Java-based H2 database by migrating it to .NET platform using IKVM.NET, which automatically migrates Java bytecode to .NET bytecode. Therefore, we have native support for H2 and can read, write and query H2.