Está escrita íntegramente en Java. Pero este aspecto no nos tiene que echar para atrás, pues es muy rápida gracias a su optimización basada en costes que, en muchos aspectos, supera a las bases de datos más populares. Además, al estar escrito en Java, se ejecuta sin problemas en cualquier sistema operativo.
Lo primero que sorprende es su tamaño, apenas 5MB, en el que el fichero jar apenas ocupa 1MB. En estos 5MB se incluye también un servidor de aplicaciones con una consola web muy rica para poder administrar la base de datos, y poder ejecutar consultas. Dicha consola incluye autocompletado y ayuda completa.
H2 opera en dos modos: embebido y “en memoria”. El modo embebido es el tradicional, en el que el servidor gestiona los datos en archivos, teniendo una pequeña parte en memoria. El modo “en memoria”, aloja todos los datos en memoria, con lo que se consigue una velocidad increíble en el acceso a los datos. También es posible combinar los dos modos.
Al estar escrito en Java puro, la integración con aplicaciones escritas en Java se hace de forma natural y sencilla. Evidentemente, utiliza una API JDBC, pero también soporta ODBC, por lo que puede ser utilizada en otros lenguajes de programación y otras aplicaciones, tales como Office, Business Intelligence, etc.
Otras características a reseñar son:
- Aíslamiento de trasacciones
- Encriptación de la base de datos
- SQL estándar
- Búsqueda de texto completo
- Concurrencia multiversión
- Plan explicativo de la ejecución de operaciones
- Clustering
- Tablas enlazadas
- Tipos de datos definidos por el usuario
- Bloqueo a nivel de fila y de tabla
- Seguridad basada en roles
- Secuencias
- Resultsets actualizables
- Información de esquema
- Columnas computadas
- Funciones agregadas personalizadas
- Limit y Offset
- Tablas temporales
- Alto rendimiento
- Triggers mediante clases Java
- Procedimientos almacenados en Java
- Almacenamiento de objetos grandes (CLOB y BLOB)
- Commit en dos fases
- Acceso desde .NET mediante JDBC (IKVM.NET) o mediante ADO.NET
- ACID
- Ejecución como servicio Windows
- Incluye herramienta de recuperación
- Soporte para conexiones seguras (SSL/TLS)
A todo lo anterior cabe añadir que esta base de datos cuenta con una documentación muy detallada y sencilla, en la que nunca estaremos perdidos.
Los casos de uso más frecuentes son aplicaciones de escritorio y aplicaciones Web en las que no se requiera de una enorme base de datos. Para páginas web en las que imperen las consultas sobre las actualizaciones, también es un escenario ideal. Para aplicaciones pequeñas también es recomendable, en lugar utilizar bases de datos pesadas que consuman muchos recursos innecesariamente.
Enlaces:
Página principal de H2
Tutorial
Descarga