HSQLDB ( Hyper SQL Database ) es un sistema de gestión de bases de datos relacionales escrito en Java . Cuenta con un controlador JDBC y admite un amplio subconjunto de los estándares SQL-92 , SQL:2008 , SQL : 2011 y SQL:2016 . [ 2 ] Ofrece un motor de base de datos rápido y [ 3 ] pequeño (alrededor de 1300 kilobytes en la versión 2.2) que admite tablas tanto en memoria como en disco. Dispone de modos integrado y de servidor.
Además, incluye herramientas como un servidor web mínimo , herramientas de administración de línea de comandos e interfaz gráfica (que se pueden ejecutar como applets) y varios ejemplos de demostración. Puede ejecutarse en entornos de ejecución de Java a partir de la versión 1.1, incluidas implementaciones de Java gratuitas como Kaffe .
HSQLDB está disponible bajo una licencia BSD . Se utiliza como motor de base de datos y persistencia en muchos proyectos de software de código abierto , como los derivados de OpenOffice.org Base (es decir, Apache OpenOffice Base , LibreOffice Base , etc.) y el cliente de VoIP y videoconferencia Jitsi 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 para transacciones
HSQLDB versión 2.0 tiene tres modos de control de transacciones. Admite niveles de aislamiento de transacciones de lectura confirmada y serializable con bloqueos a nivel de tabla o con control de concurrencia multiversión (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 de datos de lectura y escritura persistente; es decir, si una transacción se ha confirmado correctamente, se garantiza que los datos sobrevivirán a un fallo del sistema y mantendrán su integridad.
El tipo de memoria predeterminado almacena todos los cambios de datos en el disco en forma de script SQL . Durante el arranque del motor, estos comandos se ejecutan y los datos se reconstruyen en la memoria.
Otro tipo de tabla es la tabla en caché, que permite almacenar más datos, aunque a costa de un rendimiento más lento. El motor HSQLDB las carga solo parcialmente y sincroniza los datos con el disco al confirmarse las transacciones. Sin embargo, el motor siempre carga en memoria todas las filas afectadas durante una actualización. Esto imposibilita las actualizaciones de gran tamaño 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 persistentes de lectura y escritura.
Características de SQL
HSQLDB 2.0 admite todas las características principales y muchas características 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, LOB, uniones completas y laterales y operaciones de conjuntos . También se admiten muchas funciones no estándar, como TO_CHAR y DECODE. Las extensiones al SQL estándar incluyen funciones de agregación definidas por el usuario .
Lanzamientos
Desde 2001 se han publicado varias versiones de HSQLDB. Las primeras versiones se basaban en el motor de base de datos HypersonicSQL, que ya no se comercializa. La versión 2.0, publicada en 2010, es en su mayor parte código nuevo, escrito para cumplir con el estándar SQL y la especificación JDBC 4. [ 8 ]
La versión 2.3.2 (lanzada en 2014) es totalmente multihilo y admite modelos de control de transacciones de bloqueo de dos fases de alto rendimiento y MVCC (control de concurrencia multiversión) .
Véase 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 de HSQLDB" . hsqldb.org.
- ↑ "Comparativa de rendimiento de PolePosition" . polepos.org.
- ↑ "Notas de la versión 5390 de Jitsi" . Jitsi.org. Archivado del original el 2 de febrero de 2015. Consultado el 1 de febrero de 2015 .
- ↑ "Software que utiliza HSQLDB" . hsqldb.org.
- ↑ "Documentación de HSQLDB" . hsqldb.org.
- ↑ "Documentación de HSQLDB" . hsqldb.org. Archivado del original el 2 de mayo de 2015. Consultado el 11 de noviembre de 2007 .
- ↑ "El nuevo HSQLDB" . hsqldb.org.
Enlaces externos
- Sistemas de gestión de bases de datos gratuitos
- Software libre programado en Java.
- SQL
- Sistemas de gestión de bases de datos relacionales
- Software de gestión de bases de datos relacionales para Linux
- Software que utiliza la licencia BSD.
- Bases de datos integradas
- Motores de bases de datos