HSQLDB ( H yper SQL D ata b ase ) es un sistema de gestión de base de datos relacional escrito en Java . Tiene un controlador JDBC y admite un gran subconjunto de los estándares SQL-92 , SQL: 2008 , SQL: 2011 y SQL: 2016 . [2] Ofrece un motor de base de datos rápido [3] pequeño (alrededor de 1300 kilobytes en la versión 2.2) que ofrece tablas en memoria y en disco. Están disponibles tanto el modo integrado como el de servidor.
Versión inicial | 2001 |
---|---|
Lanzamiento estable | 2.6.0 / 21 de marzo de 2021 |
Escrito en | Java |
Sistema operativo | Multiplataforma |
Tamaño | 10,8 MB (archivo ZIP 2.6.0) [1] |
Tipo | RDBMS |
Licencia | BSD |
Sitio web | hsqldb |
Además, incluye herramientas como un servidor web mínimo , línea de comandos y herramientas de administración de GUI (se pueden ejecutar como subprogramas) y varios ejemplos de demostración. Puede ejecutarse en tiempos de ejecución de Java desde la versión 1.1 en adelante, incluidas las implementaciones de Java gratuitas como Kaffe .
HSQLDB está disponible bajo una licencia BSD . Se utiliza como base de datos y motor de persistencia en muchos proyectos de software de código abierto, como OpenOffice Base , LibreOffice Base y Jitsi VoIP y cliente de videoconferencia desde la versión 2.6. [4] También se utiliza en productos comerciales, como Mathematica e InstallAnywhere (a partir de la versión 8.0). [5]
Soporte de transacciones
HSQLDB versión 2.0 tiene tres modos de control de transacciones. Admite niveles de aislamiento serializables y comprometidos de lectura [ aclarar ] con bloqueos de nivel de tabla o con control de concurrencia de múltiples versiones (MVCC), o una combinación de bloqueos y MVCC. la versión 1.8.1 solo admite el nivel de aislamiento de transacciones 0 (lectura no confirmada). [6]
Almacenamiento de datos
HSQLDB tiene dos tipos de tablas principales que se utilizan para el almacenamiento duradero de datos de lectura y escritura, es decir, si una transacción se ha comprometido con éxito, se garantiza que los datos sobrevivirán a las fallas del sistema y mantendrán su integridad.
El tipo de MEMORIA predeterminado almacena todos los cambios de datos en el disco en forma de un script SQL . Durante el arranque del motor, estos comandos se ejecutan y los datos se reconstruyen en la memoria.
Otro tipo de tabla es CACHED, que permite almacenar más datos, a costa de un rendimiento más lento. El motor HSQLDB los carga solo parcialmente y sincroniza los datos en el disco en las transacciones confirmadas. Sin embargo, el motor siempre carga todas las filas afectadas durante una actualización en la memoria. Esto hace que las actualizaciones muy grandes sean imposibles sin dividir el trabajo en partes más pequeñas. [7]
Otros tipos de tablas permiten el acceso a archivos de valores separados por comas (CSV). Estas tablas pueden participar, por ejemplo, en consultas con JOIN y simplificar el procesamiento de hojas de cálculo y el almacenamiento de datos en memoria no duraderos de lectura y escritura.
Funciones SQL
HSQLDB 2.0 admite todas las funciones principales y muchas funciones opcionales de SQL: 2008 . Las características avanzadas incluyen procedimientos y funciones SQL definidos por el usuario, esquemas, intervalos de fecha y hora, vistas actualizables, matrices, lobs, uniones completas y laterales y operaciones de conjuntos . También se admiten muchas funciones no estándar como TO_CHAR y DECODE. Las extensiones de SQL estándar incluyen funciones agregadas definidas por el usuario .
Lanzamientos
Se han lanzado varias versiones de HSQLDB desde 2001. Las primeras versiones se basaban en el motor de base de datos HypersonicSQL descontinuado. La versión 2.0, lanzada en 2010, es principalmente un código nuevo, escrito para cumplir con la especificación Standard SQL y JDBC 4. [8]
La versión 2.3.2 (lanzada en 2014) es completamente multiproceso y admite modelos de control de transacciones MVCC (control de concurrencia de múltiples versiones) y bloqueo de dos fases de alto rendimiento .
Ver también
Referencias
- ^ "Inicio / hsqldb / hsqldb_2_6" . Motor de base de datos HyperSQL (HSQLDB) . SourceForge. 21 de marzo de 2021 . Consultado el 1 de abril de 2021 .
- ^ "Sintaxis SQL HSQLDB" . hsqldb.org.
- ^ "Comparación de rendimiento de PolePosition" . polepos.org.
- ^ "Notas de la versión de Jitsi build 5390" . Jitsi.org . Consultado el 1 de febrero de 2015 .
- ^ "Software que utiliza HSQLDB" . hsqldb.org.
- ^ "Documentación HSQLDB" . hsqldb.org.
- ^ "Documentación HSQLDB" . hsqldb.org. Archivado desde el original el 2 de mayo de 2015 . Consultado el 11 de noviembre de 2007 .
- ^ "El nuevo HSQLDB" . hsqldb.org.
enlaces externos
- Página web oficial