Projekt libSQL se snaží vytvořit fork databázového systému SQLite, zaměřený na otevřenost pro zapojení vývojářů z komunity a propagaci novinek, které přesahují původní účel SQLite. Důvodem pro vytvoření forku je dostatečně přísná politika SQLite týkající se přijímání cizího kódu od komunity, když je potřeba prosazovat vylepšení. Kód forku je distribuován pod licencí MIT (SQLite je dostupné jako veřejné vlastnictví).
Tvůrci forku mají v úmyslu udržovat kompatibilitu s hlavním SQLite a dodržovat stejnou kvalitu, přičemž zachovávají sadu testovacích scénářů a postupně ji rozšiřují s přidáváním novinek. Pro vývoj nové funkčnosti se navrhuje poskytnout možnost použití jazyka Rust, přičemž základní část zůstává v jazyce C. V případě změny politiky hlavního projektu SQLite ohledně přijímání změn, mají vývojáři libSQL v plánu převést nahromaděné změny do hlavního projektu a zapojit se do jeho rozvoje.
Mezi nápady na možné rozšíření funkčnosti SQLite se zmiňují:
- Integrace prostředků pro vytváření distribuovaných databází, které fungují na úrovni samotné knihovny, nikoli prostřednictvím replikace změn v souborovém systému (LiteFS), a bez vývoje samostatného produktu (dqlite, rqlite, ChiselStore).
- Optimalizace pro využívání asynchronních API, jako je rozhraní io_uring poskytované jádrem Linux.
- Možnost využití SQLite v jádře Linux, podobně jako podpora v jádře virtuální stroje eBPF, pro situace, kdy je potřeba uchovávat z jádra sady dat, které se nevejdou do operační paměti.
- Podpora uživatelsky definovaných funkcí napsaných v jakýchkoli programovacích jazycích a zkompilovaných do mezikódu WebAssembly.
Zdroj: opennet.ru
