Creador | Thomas Mueller ( d ) |
---|---|
Primera versión | Diciembre de 2005 |
Última versión | 1.4.200 (14 de octubre de 2019) |
Depositar | github.com/h2database/h2database |
Escrito en | Java |
Sistema de explotación | Multiplataforma |
Medio ambiente | Máquina virtual de Java |
Tipo | Sistema de administración de base de datos |
Licencia | Licencia pública Eclipse 1.0 ( d ) y MPL-2.0 ( d ) |
Sitio web | www.h2database.com |
H2 es un sistema de gestión de bases de datos relacionales escrito en Java . Puede integrarse en una aplicación Java u operar en modo cliente-servidor . Su archivo jar es pequeño: alrededor de 1 MB.
Es un software de código abierto distribuido bajo la licencia pública de Mozilla (versión modificada) o la licencia pública de Eclipse .
H2 admite un subconjunto del estándar SQL . Ofrece interfaces de programación (API) SQL y JDBC ; sin embargo, también puede utilizar el controlador ODBC de PostgreSQL y comportarse como un servidor PostgreSQL.
Las tablas se pueden crear en RAM o en disco . Pueden ser persistentes o temporales. Los índices son tablas hash y árboles para tablas en memoria y árboles B para tablas en disco. Toda la manipulación de datos es transaccional . Se implementa el bloqueo a nivel de tabla y la simultaneidad de múltiples versiones . También se admite el protocolo de confirmación de 2 fases , pero no se implementan las API de transacciones distribuidas estándar. La seguridad es proporcionada por: roles basados control de acceso , SHA-256 de hash de contraseñas, encriptación de datos con AES o XTEA . Las conexiones SSL / TLS son compatibles en modo cliente-servidor, así como a través de la aplicación de línea de comandos (consola).
Se incluyen dos sistemas de búsqueda de texto completo : una implementación nativa y otra que usa Apache Lucene .
La base de datos se protege de inyecciones SQL con el uso de expresiones con parámetros formales. Esta función se denomina desactivación de los literales (valores de desactivación literal ).
Desde la versión 1.1.111, la base de datos en memoria H2 se puede ejecutar dentro de Google App Engine .
Están incluidos :
El desarrollo de H2 comenzó enMayo de 2004, y fue publicado en diciembre de 2005. El autor del motor es Thomas Mueller. También desarrolló Hypersonic SQL Java DBMS antes de detener su desarrollo, que fue asumido por HSQLDB Group. El nombre H2 significa Hypersonic 2 ; sin embargo, H2 se escribió desde cero y no tiene un código común con Hypersonic o HSQLDB .