Il progetto libSQL ha iniziato lo sviluppo di un fork del DBMS SQLite

Il progetto libSQL ha tentato di creare un fork del DBMS SQLite, incentrato sull'apertura alla partecipazione degli sviluppatori della comunità e sulla promozione di innovazioni oltre lo scopo originale di SQLite. Il motivo per la creazione del fork è la politica piuttosto rigorosa di SQLite riguardo all'accettazione di codice di terze parti dalla comunità se è necessario promuovere miglioramenti. Il codice del fork è distribuito sotto licenza MIT (SQLite è rilasciato come dominio pubblico).

I creatori del fork intendono mantenere la compatibilità con SQLite principale e mantenere lo stesso livello di qualità, mantenendo una serie di casi di test ed espandendola gradualmente man mano che vengono aggiunte innovazioni. Per sviluppare nuove funzionalità si propone di fornire la possibilità di utilizzare il linguaggio Rust, mantenendo la parte base in linguaggio C. Se la politica del progetto SQLite principale riguardo all'accettazione delle modifiche cambia, gli sviluppatori di libSQL intendono trasferire le modifiche accumulate al progetto principale e unirsi al suo sviluppo.

Tra le idee per una possibile espansione delle funzionalità SQLite si menzionano:

  • Integrazione di strumenti per la creazione di database distribuiti operanti a livello della libreria stessa e non attraverso la replica delle modifiche nel file system (LiteFS) e senza lo sviluppo di un prodotto separato (dqlite, rqlite, ChiselStore).
  • Ottimizzazione per l'uso di API asincrone, come l'interfaccia io_uring fornita dal kernel Linux.
  • La possibilità di utilizzare SQLite nel kernel Linux, simile al supporto del kernel della macchina virtuale eBPF, per situazioni in cui è necessario salvare set di dati dal kernel che non rientrano nella RAM.
  • Supporto per funzioni definite dall'utente scritte in qualsiasi linguaggio di programmazione e compilate nel codice intermedio WebAssembly.

Fonte: opennet.ru

Aggiungi un commento