H2 is a relational database management system written in Java. It can be embedded in Java applications or run in client-server mode.
The H2 console application lets you access a SQL database using a browser interface.
An embedded web server with a browser based console application is included, as well as command line tools to start and stop a server, backup and restore databases, and a command line shell tool.
Features include:
- Very fast, open source, JDBC API.
- Memory mode.
- Encrypted database, together with other strong security features such as SHA-256 password encryption, encryption functions, and SSL.
- ODBC driver.
- Fulltext search.
- Multi version concurrency.
- Disk based or in-memory databases and tables, read-only database support, temporary tables
- Transaction support (read committed), 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
- Embedded and server modes; in-memory databases.
- Browser based Console application.
- Small footprint: around 2 MB jar file size.
- 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, OFFSET / FETCH (including PERCENT and WITH TIES), LIMIT, TOP, DISTINCT / DISTINCT ON (…).
- Window functions.
- Collation support, including support for the ICU4J library.
- Support for users and roles.
- Compatibility modes for IBM DB2, Apache Derby, HSQLDB, MS SQL Server, MySQL, Oracle, and PostgreSQL.
- Other features:
- Small footprint (around 2 MB), low memory requirements.
- Multiple index types (b-tree, tree, hash).
- Support for multi-dimensional indexes.
- CSV (comma separated values) file support.
- Support for linked tables, and a built-in virtual ‘range’ table.
- Supports the
EXPLAIN PLAN
statement; sophisticated trace options. - Database closing can be delayed or disabled to improve the performance.
- Web-based Console application (translated to many languages) with autocomplete.
- The database can generate SQL script files.
- Contains a recovery tool that can dump the contents of the database.
- Support for variables (for example to calculate running totals).
- Automatic re-compilation of prepared statements.
- Uses a small number of database files.
- Uses a checksum for each record and log entry for data integrity.
- Well tested (high code coverage, randomized stress tests).
Website: www.h2database.com
Support: FAQ, GitHub Code Repository
Developer: H2 Developers
License: Eclipse Public License or Mozilla Public License 2.0
H2 is written in Java. Learn Java with our recommended free books and free tutorials.
Return to Relational Databases
Popular series | |
---|---|
The largest compilation of the best free and open source software in the universe. Each article is supplied with a legendary ratings chart helping you to make informed decisions. | |
Hundreds of in-depth reviews offering our unbiased and expert opinion on software. We offer helpful and impartial information. | |
The Big List of Active Linux Distros is a large compilation of actively developed Linux distributions. | |
Replace proprietary software with open source alternatives: Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle, Atlassian, Corel, Cisco, Intuit, and SAS. | |
Awesome Free Linux Games Tools showcases a series of tools that making gaming on Linux a more pleasurable experience. This is a new series. | |
Machine Learning explores practical applications of machine learning and deep learning from a Linux perspective. We've written reviews of more than 40 self-hosted apps. All are free and open source. | |
New to Linux? Read our Linux for Starters series. We start right at the basics and teach you everything you need to know to get started with Linux. | |
Alternatives to popular CLI tools showcases essential tools that are modern replacements for core Linux utilities. | |
Essential Linux system tools focuses on small, indispensable utilities, useful for system administrators as well as regular users. | |
Linux utilities to maximise your productivity. Small, indispensable tools, useful for anyone running a Linux machine. | |
Surveys popular streaming services from a Linux perspective: Amazon Music Unlimited, Myuzi, Spotify, Deezer, Tidal. | |
Saving Money with Linux looks at how you can reduce your energy bills running Linux. | |
Home computers became commonplace in the 1980s. Emulate home computers including the Commodore 64, Amiga, Atari ST, ZX81, Amstrad CPC, and ZX Spectrum. | |
Now and Then examines how promising open source software fared over the years. It can be a bumpy ride. | |
Linux at Home looks at a range of home activities where Linux can play its part, making the most of our time at home, keeping active and engaged. | |
Linux Candy reveals the lighter side of Linux. Have some fun and escape from the daily drudgery. | |
Getting Started with Docker helps you master Docker, a set of platform as a service products that delivers software in packages called containers. | |
Best Free Android Apps. We showcase free Android apps that are definitely worth downloading. There's a strict eligibility criteria for inclusion in this series. | |
These best free books accelerate your learning of every programming language. Learn a new language today! | |
These free tutorials offer the perfect tonic to our free programming books series. | |
Linux Around The World showcases usergroups that are relevant to Linux enthusiasts. Great ways to meet up with fellow enthusiasts. | |
Stars and Stripes is an occasional series looking at the impact of Linux in the USA. |