HSQLDB - HSQLDB

HSQLDB (HyperSQL DataBase)
Hsql.png
Gestore di database HSQL
Versione iniziale 2001 ; 20 anni fa  ( 2001 )
Rilascio stabile
2.6.0 / 21 marzo 2021 ; 22 giorni fa  ( 21 marzo 2021 )
Scritto in Giava
Sistema operativo Cross-platform
Dimensione 10,8 MB (file ZIP 2.6.0)
genere RDBMS
Licenza BSD
Sito web hsqldb .org  Modifica questo su Wikidata

HSQLDB ( H yper SQL D ata b ase ) è un sistema di gestione di database relazionali scritto in Java . Ha un driver JDBC e supporta un ampio sottoinsieme di standard SQL-92 , SQL: 2008 , SQL: 2011 e SQL: 2016 . Offre un motore di database veloce e piccolo (circa 1300 kilobyte nella versione 2.2) che offre tabelle sia in memoria che basate su disco. Sono disponibili sia la modalità incorporata che quella server.

Inoltre, include strumenti come un server Web minimo , riga di comando e strumenti di gestione della GUI (possono essere eseguiti come applet) e una serie di esempi dimostrativi. Può essere eseguito su runtime Java dalla versione 1.1 in poi, comprese le implementazioni Java gratuite come Kaffe .

HSQLDB è disponibile con una licenza BSD . Viene utilizzato come database e motore di persistenza in molti progetti software open source , come OpenOffice Base , LibreOffice Base e Jitsi VoIP e client per videoconferenze dalla versione 2.6. Viene anche utilizzato in prodotti commerciali, come Mathematica e InstallAnywhere (a partire dalla versione 8.0).

Supporto per le transazioni

La versione 2.0 di HSQLDB ha tre modalità di controllo delle transazioni. Supporta livelli di isolamento read committed e serializzabili con blocchi a livello di tabella o con controllo di concorrenza multiversione (MVCC) o una combinazione di blocchi e MVCC. la versione 1.8.1 supporta solo il livello di isolamento delle transazioni 0 (lettura senza commit).

Archivio dati

HSQLDB ha due tipi di tabelle principali utilizzati per l'archiviazione durevole dei dati di lettura e scrittura, ovvero, se una transazione è stata eseguita correttamente, è garantito che i dati sopravviveranno a errori di sistema e manterranno la loro integrità.

Il tipo di MEMORIA predefinito memorizza tutte le modifiche ai dati sul disco sotto forma di uno script SQL . Durante l'avviamento del motore, questi comandi vengono eseguiti e i dati vengono ricostruiti nella memoria.

Un altro tipo di tabella è CACHED, che consente di memorizzare più dati, a scapito delle prestazioni più lente. Il motore HSQLDB li carica solo parzialmente e sincronizza i dati sul disco durante i commit delle transazioni. Tuttavia, il motore carica sempre nella memoria tutte le righe interessate durante un aggiornamento. Ciò rende impossibili aggiornamenti di grandi dimensioni senza suddividere il lavoro in parti più piccole.

Altri tipi di tabella consentono l'accesso ai file CSV ( valori delimitati da virgole). Queste tabelle possono partecipare, ad esempio, alle query con JOIN e semplificare l'elaborazione del foglio di calcolo e l'archiviazione dei dati in memoria non durevole di lettura-scrittura.

Funzionalità SQL

HSQLDB 2.0 supporta tutte le funzionalità principali e molte funzionalità opzionali di SQL: 2008 . Le caratteristiche avanzate includono procedure e funzioni SQL definite dall'utente, schemi, intervalli datetime, viste aggiornabili, array, lob, join completi e laterali e operazioni di set . Sono supportate anche molte funzioni non standard come TO_CHAR e DECODE. Le estensioni allo standard SQL includono funzioni aggregate definite dall'utente .

Rilasci

Diverse versioni di HSQLDB sono state rilasciate dal 2001. Le prime versioni erano basate sul motore di database HypersonicSQL fuori produzione. La versione 2.0, rilasciata nel 2010, è per lo più codice nuovo, scritto in conformità allo standard SQL e alla specifica JDBC 4.

La versione 2.3.2 (rilasciata nel 2014) è completamente multi-thread e supporta il blocco a due fasi ad alte prestazioni e i modelli di controllo delle transazioni MVCC (multiversion concurrency control) .

Guarda anche

Riferimenti

link esterno