H2 is an open-source lightweight Java database. It can be embedded in Java applications or run in the client-server mode. Mainly, H2 database can be configured to run as inmemory database, which means that data will not persist on the disk. Because of embedded database it is not used for production development, but mostly used for development and testing.
This database can be used in embedded mode or in server mode. Following are the main features of H2 database −
- Extremely fast, open source, JDBC API
- Available in embedded and server modes; in-memory databases
- Browser-based Console application
- Small footprint − Around 1.5MB jar file size
Features of H2 Database
The main features of H2 Database are as follows −
- It is an extremely fast database engine.
- H2 is open source and written in Java.
- It supports standard SQL and JDBC API. It can use PostgreSQL ODBC driver too.
- It has embedded and Server mode.
- H2 supports clustering and multi-version concurrency.
- It has strong security features.
Following are some additional features of H2 Database −
- H2 is a disk-based or in-memory databases and tables, read-only database support, temporary tables.
- H2 provides transaction support (read committed), 2-phase-commit multiple connections, table level locking.
- H2 is a cost-based optimizer, using a genetic algorithm for complex queries, zeroadministration.
- H2 contains scrollable and updatable result set support, large result set, external result sorting, functions can return a result set.
- H2 supports encrypted database (AES), SHA-256 password encryption, encryption functions, and SSL.
Components in H2 Database
In order to use H2 Database, you need to have the following components −
- A web browser
- A H2 console server
This is a client/server application, so both server and client (a browser) are required to run it.