v0.9 addresses bug fixes and also adds CSV import/export, the REAL data type is supported, better performance for joins, access rights for views, and invalid views (if a table is dropped).
H2 was first announced in mid-december 2005 and work has progressed steadily since. Thomas' priority for H2 is currently compatibility and performance on the low end (single user, Access, Embedded), so features such as better transaction isolation support (it currently only supports serializable) will be implemented later.
Comparison to Other Database Engines
Feature | H2 | HSQLDB | Derby | Daffodil | MySQL | PostgreSQL |
---|---|---|---|---|---|---|
Embedded Mode (Java) | Yes | Yes | Yes | Yes | No | No |
Performance (Embedded) | Fast | Fast | Slow | Slow | N/A | N/A |
Performance (Server) | Fast | Fast | Slow | Slow | Slow | Slow |
Transaction Isolation | Yes | No | Yes | Yes | Yes | Yes |
Cost Based Optimizer | Yes | No | Yes | Yes | Yes | Yes |
Clustering | Yes | No | No | No | Yes | Yes |
Encrypted Database | Yes | No | Yes | No | No | No |
Files per Database | Few | Few | Many | Few | Many | Many |
Footprint (jar/dll size) | ~ 1 MB | ~ 600 KB | ~ 2 MB | ~ 3 MB | ~ 4 MB | ~ 6 MB |
H2 has also benchmarked sigificantly faster than other open source databases, including HSQLDB:
According to Thomas, H2 may be merged back to HSQLDB at some point in the future, but not yet, which is one reason why the license is not GPL / LGPL / Apache style, although it is free and open source.