Projekt libSQL pokušava stvoriti fork SQLite SDB-a, usmjeren na otvorenost za sudjelovanje razvijača iz zajednice i promicanje inovacija koje nadmašuju prvotnu svrhu SQLite-a. Kao razlog za stvaranje forka navedena je prilično stroga politika SQLite-a u vezi s prihvaćanjem tuđeg koda od zajednice uz potrebu za promicanjem poboljšanja. Kod forka distribuira se pod MIT licencom (SQLite se isporučuje kao javno dobro).
Kreatori forka namjeravaju održavati kompatibilnost s glavnim SQLite-om i pridržavati se iste razine kvalitete, čuvajući skup testnih scenarija i postupno ga proširujući kako se dodaju inovacije. Za razvoj nove funkcionalnosti predlaže se omogućiti korištenje jezika Rust, zadržavajući osnovni dio na C jeziku. U slučaju promjene politike glavnog projekta SQLite u vezi s prihvaćanjem izmjena, developeri libSQL-a namjeravaju prenijeti nakupljene izmjene u glavni projekt i priključiti se njegovom razvoju.
Među idejama za moguće proširenje funkcionalnosti SQLite-a spominju se:
- Integracija sredstava za izgradnju distribuiranih baza podataka, koje rade na razini same biblioteke, a ne putem replikacije promjena u datotečnom sustavu (LiteFS), i bez razvoja zasebnog proizvoda (dqlite, rqlite, ChiselStore).
- Optimizacija za korištenje asinkronih API-ja, poput onog koji pruža Linux jezgra, sučelje io_uring.
- Mogućnost korištenja SQLite-a u Linux jezgri, analogno podršci u jezgri virtualne mašine eBPF, za situacije kada je potrebno čuvati skupove podataka iz jezgre koji ne stanu u radnu memoriju.
- Podrška za korisnički definirane funkcije napisane na bilo kojim programskim jezicima i kompajlirane u međukôd WebAssembly.
Izvor: opennet.ru
