Projektet libSQL forsøger at skabe en fork af databasesystemet SQLite, der er åben for udviklernes deltagelse fra samfundet og fremmer innovationer, der går ud over SQLite's oprindelige formål. Årsagen til at skabe fork'en nævnes at være den ret strenge politik fra SQLite om modtagelse af ekstern kode fra samfundet, når der er behov for at fremme forbedringer. Koden til fork'en distribueres under MIT-licensen (SQLite leveres som offentlig ejendom).
Skaberne af fork'en har til hensigt at opretholde kompatibilitet med den primære SQLite og holde sig til samme kvalitetsniveau, mens de bevarer sæt af testscenarier og gradvist udvider det i takt med tilføjelsen af innovationsmuligheder. For udvikling af ny funktionalitet foreslås det at give mulighed for brugen af programmeringssproget Rust, mens den grundlæggende del forbliver på C. Hvis politikken for det primære SQLite-projekt ændres med hensyn til modtagelse af ændringer, har udviklerne af libSQL til hensigt at overføre de akkumulerede ændringer til hovedprojektet og tilslutte sig dets udvikling.
Blandt ideerne for mulig funktionalitetsudvidelse af SQLite nævnes:
- Integration af værktøjer til opbygning af distribuerede databaser, der kører på biblioteksniveau, og ikke gennem replikering af ændringer i filsystemet (LiteFS), og uden udvikling af et separat produkt (dqlite, rqlite, ChiselStore).
- Optimering til brug af asynkrone API'er, såsom den, der leveres af Linux-kernen via io_uring-grænsefladen.
- Mulighed for at bruge SQLite i Linux-kernen, analogt med understøttelsen i eBPF-virtuel maskinekernen, til situationer, hvor det kræves at bevare datasæt fra kernen, der ikke kan være i RAM.
- Understøttelse af brugerdefinerede funktioner, skrevet på alle programmeringssprog og kompileret til WebAssembly-mellemformat.
Kilde: opennet.ru
