Oggi per la nostra rubrica dedicata agli sviluppatori andremo ad esplorare SQLite. Si tratta di una libreria software scritta in linguaggio C che implementa un DBMS SQL di tipo ACID incorporabile all'interno di applicazioni. Il suo sviluppatore, D. Richard Hipp, l'ha rilasciato in modo che sia utilizzabile da tutti senza nessuna restrizione. Con SQLite si possono creare una basi di dati (comprese tabelle, query, form, report) incorporate in un unico file.
SQLite è integrato in PHP dalla versione 5 ed inoltre viene utilizzato nel browser Web Mozilla Firefox per memorizzare i segnalibri, la cronologia di navigazione ed altre informazioni utili. Secondo quanto riportato sul sito ufficiale del progetto, tramite l'impiego di SQLite è possibile leggere e manipolare dei piccoli blobs (ad esempio delle thumbnail di immagini) fino al 35% più velocemente rispetto a quanto sia possibile fare utilizzando strumenti come fread() o fwrite() sul medesimo contenuto.
Ovviamente questa percentuale dipende in gran parte dall'hardware che si sta utilizzando e dalla piattaforma di riferimento, per cui i valori prodotti dai benchmark possono cambiare a seconda della configurazione in uso.
Tuttavia il vantaggio a livello di performance dovrebbe emergere comunque, perché usando un database SQLite le chiamate di sistema open() e close() vengono effettuate un'unica volta; al contrario, cioè quando non si usano database SQLite, le chiamate alle stesse funzioni vengono eseguite ogni volta per ogni blob memorizzato nei singoli file. Dunque l'overhead, cioè il ricorso alle risorse, della chiamate ad open() e close() è maggiore rispetto a quando si utilizza un database SQLite.
In questo modo SQLite si offre come un'ottima alternativa per la gestione del database, soprattutto in considerazione del fatto che esso garantisce prestazioni ottimali in contesti spesso molto differenti tra loro. Dunque, a seconda del progetto che si sta implementando potrebbe rappresentare una scelta ottimale per il miglioramento delle performance.
Via SQLite