SQLite è un motore di database relazionale leggero, accessibile tramite il linguaggio SQL . A differenza dei server di database tradizionali, come MySQL o PostgreSQL, la sua caratteristica distintiva non è quella di replicare la solita architettura client-server, bensì di integrarsi direttamente nei programmi.
L'intero database (istruzioni, tabelle, indici e dati) è memorizzato in un file indipendente dalla piattaforma. Grazie alla sua estrema leggerezza, tra le altre cose, viene utilizzato in molti programmi per utenti finali ed è molto diffuso anche nei sistemi embedded, compresi gli smartphone di ultima generazione.
A differenza dei sistemi di gestione di database client-server, il motore SQLite non è un processo separato con cui il programma principale comunica. La libreria SQLite è invece collegata al programma, diventandone parte integrante.
Il programma utilizza le funzionalità di SQLite tramite semplici chiamate a subroutine e funzioni. Ciò riduce la latenza nell'accesso al database, poiché le chiamate di funzione sono più efficienti della comunicazione tra processi.
L'intero database (definizioni, tabelle, indici e i dati stessi) vengono salvati come un unico file standard sulla macchina host. Questo design semplice si ottiene bloccando l'intero file di database all'inizio di ogni transazione.
Informazioni sulla nuova versione di SQLite 3.32.0
Di recente è stata annunciata la versione 3.32.0 di SQLite, che include diverse modifiche, tra cui spicca una versione migliorata del comando ANALYZE . Questo permette la raccolta parziale di statistiche da database molto grandi senza la necessità di un'analisi completa dell'indice. Il limite al numero di record analizzati per un singolo indice viene impostato tramite la nuova direttiva "PRAGMA analysis_limit".
Un'altra novità introdotta in questa nuova versione di SQLite è la creazione di una nuova tabella virtuale , "bytecode", che fornisce informazioni sul bytecode delle istruzioni preparate.
Inoltre, è stato aggiunto un livello di checksum VFS, che aggiunge checksum a 8 byte alla fine di ogni pagina di dati nel database e li verifica ogni volta che i dati vengono letti dal database. Questo livello intermedio consente di rilevare eventuali danneggiamenti del database derivanti da distorsioni casuali dei bit sui dispositivi di archiviazione.
D'altra parte, è stata aggiunta una nuova funzione SQL iif (X, Y, Z), che restituisce il valore Y se l'espressione X è vera, o Z altrimenti.
Le espressioni INSERT e UPDATE ora applicano sempre condizioni di tipo di colonna fisso prima del blocco di calcolo CHECK, e il limite al numero di parametri è stato aumentato da 999 a 32766.
Tra le altre modifiche degne di nota in questa nuova versione si segnalano:
- Aggiunta l'estensione della sequenza di ordinamento UINT con l'implementazione di sequenze di ordinamento che prendono in considerazione gli interi nel testo per ordinare questo testo in ordine numerico.
- Nell'interfaccia della riga di comando, le opzioni "–csv", "–ascii" e "–skip" sono state aggiunte al comando ".import".
- Il comando ".dump" consente l'uso di più modelli LIKE con l'unione nell'output di tutte le tabelle corrispondenti alle maschere specificate. Aggiunto comando ".oom" per build di debug.
- L'opzione –bom è stata aggiunta ai comandi ".excel", ".output" e ".once". Aggiunta l'opzione –schema al comando ".filectrl".
- L'espressione ESCAPE specificata con l'operatore LIKE ora sovrascrive i caratteri jolly, il che è coerente con il comportamento di PostgreSQL.
Infine, se desiderate saperne di più sul rilascio di questa nuova versione, potete consultare l'elenco delle modifiche al seguente link.
Scarico
Per chi fosse interessato a installare questa nuova versione di SQLite sul proprio sistema, i pacchetti possono essere scaricati dal sito web ufficiale nella sezione download, dove sono disponibili sia il codice sorgente (per la compilazione) che i pacchetti precompilati.