Het libSQL-project begon met de ontwikkeling van een vork van het SQLite DBMS

Het libSQL-project heeft geprobeerd een afsplitsing van het SQLite DBMS te creëren, gericht op openheid voor deelname van gemeenschapsontwikkelaars en het bevorderen van innovaties die verder gaan dan het oorspronkelijke doel van SQLite. De reden voor het maken van de fork is het vrij strikte beleid van SQLite met betrekking tot het accepteren van code van derden uit de gemeenschap als er behoefte is om verbeteringen te bevorderen. De fork-code wordt gedistribueerd onder de MIT-licentie (SQLite is vrijgegeven als publiek domein).

De makers van de fork zijn van plan de compatibiliteit met de belangrijkste SQLite te behouden en hetzelfde kwaliteitsniveau te behouden, door een reeks testcases te behouden en deze geleidelijk uit te breiden naarmate er innovaties worden toegevoegd. Om nieuwe functionaliteit te ontwikkelen, wordt voorgesteld om de mogelijkheid te bieden om de Rust-taal te gebruiken, terwijl het basisgedeelte in de C-taal behouden blijft. Als het beleid van het hoofd-SQLite-project met betrekking tot het accepteren van wijzigingen verandert, zijn de libSQL-ontwikkelaars van plan de verzamelde wijzigingen over te dragen naar het hoofdproject en mee te doen aan de ontwikkeling ervan.

Onder de ideeën voor mogelijke uitbreiding van SQLite-functionaliteit worden genoemd:

  • Integratie van tools voor het bouwen van gedistribueerde databases die werken op het niveau van de bibliotheek zelf, en niet door replicatie van wijzigingen in het bestandssysteem (LiteFS), en zonder de ontwikkeling van een afzonderlijk product (dqlite, rqlite, ChiselStore).
  • Optimalisatie voor gebruik van asynchrone API's, zoals de io_uring-interface van de Linux-kernel.
  • De mogelijkheid om SQLite in de Linux-kernel te gebruiken, vergelijkbaar met de eBPF-kernelondersteuning voor virtuele machines, voor situaties waarin het nodig is om datasets uit de kernel op te slaan die niet in RAM passen.
  • Ondersteuning voor door de gebruiker gedefinieerde functies geschreven in elke programmeertaal en gecompileerd in tussenliggende WebAssembly-code.

Bron: opennet.ru

Voeg een reactie