Projekt libSQL poskuša ustvariti forku baze podatkov SQLite, usmerjene v odprtost za sodelovanje razvijalcev iz skupnosti in spodbujanje inovacij, ki presegajo prvotno namembnost SQLite. Kot razlog za ustvarjanje forka navajajo dokaj strogo politiko SQLite glede sprejemanja zunanjega kode od skupnosti, ob upoštevanju potrebe po uvajanju izboljšav. Koda forka se distribuira pod MIT licenco (SQLite se dobavlja kot javna last).
Ustvarjalci forka nameravajo ohranjati združljivost z glavno različico SQLite in se držati iste ravni kakovosti, pri čemer ohranjajo niz testnih scenarijev in ga postopoma širijo, ko dodajajo inovacije. Za razvoj nove funkcionalnosti predlagajo omogočanje uporabe jezika Rust, pri čemer osnovni del ostaja v jeziku C. V primeru spremembe politike glavnega projekta SQLite glede sprejemanja sprememb, nameravajo razvijalci libSQL prenesti nakopičene spremembe v glavni projekt in se vključiti v njegovo nadaljnje razvoj.
Med idejami za morebitno širitev funkcionalnosti SQLite so omenjene:
- Integracija orodij za gradnjo distribuiranih baz podatkov, ki delujejo na ravni same knjižnice, namesto preko replikacije sprememb v datotečnem sistemu (LiteFS), in brez razvoja ločenega produkta (dqlite, rqlite, ChiselStore).
- Optimizacija za uporabo asinhronih API-jev, kot je v jedru Linuxa zagotovljen vmesnik io_uring.
- Možnost uporabe SQLite v jedru Linuxa, podobno podpori v jedru virtualnega stroja eBPF, za situacije, ko je treba v jedru shraniti nize podatkov, ki ne smejo biti v pomnilniku.
- Podpora za uporabniške funkcije, napisane v katerem koli programskem jeziku in prevedene v vmesni kodo WebAssembly.
Izvor: opennet.ru
