Share on Facebook Share on Twitter Email
Answers.com

H2

 
Wikipedia: H2 (DBMS)
H2 Database Engine
H2 Database Engine
Stable release 1.1.118 / 2009-09-04; 2 months ago
Written in Java
Operating system Cross-platform
Type Relational Database Management System
License Mozilla Public License or Eclipse Public License
Website http://www.h2database.com

H2 is a relational database management system written in Java. It can be embedded in Java applications or run in the client-server mode. The disk footprint is about 1 MB.

The software is available as open source software under modified versions of the Mozilla Public License or the original Eclipse Public License. The modification of the MPL is a shorter file header and the license name.

Contents

Main Features

A subset of the SQL (Structured Query Language) standard is supported. The main programming APIs are SQL and JDBC, however the database also supports using the PostgreSQL ODBC driver by acting like a PostgreSQL server.

It is possible to create both in-memory tables, as well as disk-based tables. Tables can be persistent or temporary. Index types are hash table and tree for in-memory tables, and b-tree for disk-based tables. All data manipulation operations are transactional. Table level locking and multiversion concurrency control are implemented. The 2-phase commit protocol is supported as well, but no standard API for distributed transactions is implemented. The security features of the database are: role based access rights, encryption of the password using SHA-256 and data using the AES or the Tiny Encryption Algorithm, XTEA. The cryptographic features are available as functions inside the database as well. SSL / TLS connections are supported in the client-server mode, as well as when using the console application.

Two full text search implementations are included, a native implementation and one using Lucene.

A simple form of high availability is implemented: when used in the client-server mode, the database engine supports hot failover (this is commonly known as clustering). However, the clustering mode must be enabled manually after a failure.

The database supports protection against SQL injection by enforcing the use of parameterized statements. In H2, this feature is called 'disabling literals'.

Since version 1.1.111, H2 in-memory database can run inside the Google App Engine.

Utilities

An embedded web server and a browser based console application are included.

History

The development of the H2 database engine started in May 2004, but it was first published in December 2005. The database engine is written by Thomas Mueller. He also developed the Java database engine Hypersonic SQL [1]. In 2001, the Hypersonic SQL was stopped, and the HSQLDB Group was formed to continue work on the Hypersonic SQL code.

The name H2 stands for Hypersonic 2, however H2 does not share any code with Hypersonic SQL or HSQLDB. H2 is built from scratch.

See also

External links


Search unanswered questions...
Enter a question here...
Search: All sources Community Q&A Reference topics
 
 
Learn More
CH domains
methyl benzoate (organic chemistry)
Buy in the cheapest market and sell in the dearest

What is the pKa of h2? Read answer...
Can H2 be oxidized? Read answer...
What does h2 mean? Read answer...

Help us answer these
Where is there h2 plantations?
What is the color of h2?
What is the formula for h2?

Post a question - any question - to the WikiAnswers community:

 

Copyrights:

Wikipedia. This article is licensed under the Creative Commons Attribution/Share-Alike License. It uses material from the Wikipedia article "H2 (DBMS)" Read more