Non è capitato spesso di parlare sul portale di SQLite, lo abbiamo fatto in passato raccontandone l’intera storia (di successo) in questo bell’articolo del Bonfi pubblicato nel 2021 ed in forma latente è sempre ritornato qui e là, perché SQLite è molto, molto utilizzato.
Si sta parlando infatti di uno dei progetti open-source più usati al mondo, basti pensare alle svariate tecnologie che vi si affidano, dai browser Google Chrome e Firefox, così come Android stesso, poi iOS e macOS per arrivare a Dropbox. E sono solo i primi progetti a venire in mente.
Proprio per l’importanza che SQLite riveste nell’ecosistema informatico, non solo open-source, la notizia recentemente rilanciata da DevClass va tenuta certamente in considerazione: SQLite verrà a breve integrato con un tool per le repliche, che dovrebbe garantire la consistenza degli snapshot del database anche mentre sono in corso letture e scritture.
Il Database Remote-Copy Tool For SQLite viene presentato come attivabile da questo semplice comando:
$ sqlite3_rsync ORIGIN REPLICA ?OPTIONS?e dovrebbe differenziare questo approccio da quello esistente, basato sulle SQLite backup API che hanno il limite principale di porre il database in stato di lock, quindi non aggiornabile.
Questa nuova funzionalità potrebbe ampliare di molto l’uso, già enorme, di SQLite perché attualmente è pensato come un database locale (cioè usato da una sola applicazione su un solo dispositivo).
Un sistema di replica permetterebbe di usare SQLite anche in scenari più complessi, dove c’è bisogno di condividere dati tra più dispositivi o utenti. I primi a venire in mente sono ad esempio le applicazioni di messaggistica: un’applicazione che utilizza SQLite per archiviare i messaggi potrebbe avere la necessità di sincronizzare i dati tra il telefono e il tablet di un utente. Con la replica, i messaggi ricevuti o inviati su uno dei dispositivi apparirebbero immediatamente anche sull’altro.
Ma di fatto la funzionalità porterebbe SQLite a livello delle alternative anche nell’ambito dei sistemi di backup decentralizzati, e nel mondo cloud-native questa è ormai la base.
Per non parlare delle applicazioni gestionali che amministrano vendite o consegne. Gli utenti potrebbero lavorare offline su dispositivi mobili e, quando sono di nuovo online, i dati si sincronizzerebbero automaticamente con il database centrale.
Insomma, pur con alcune limitazioni (tutte riportate nella draft della tecnologia, come ad esempio il limite teorico di… Uh… 281 Terabyte di spazio gestibile), questa nuova era di SQLite si preannuncia decisamente promettente.
Il codice, open-source ovviamente, per chi volesse dare un’occhiata, è qui: https://sqlite.org/src/file?name=tool/sqlite3-rsync.c&ci=trunk.
Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.