The libSQL project aims to create a fork of the SQLite DBMS, focused on openness for community developer participation and promoting innovations that go beyond the original purpose of SQLite. The reason for creating the fork is attributed to the rather strict policy of SQLite regarding the acceptance of third-party code from the community, despite the need to promote improvements. The code of the fork is distributed under the MIT license (SQLite is offered as public domain).
The creators of the fork intend to maintain compatibility with the main SQLite and adhere to the same level of quality, preserving the test scenario set and gradually expanding it as innovations are added. For the development of new functionalities, it is proposed to provide the option of using the Rust language while keeping the core part in C. In the event of a change in the main SQLite project's policy regarding the acceptance of changes, the libSQL developers aim to transfer the accumulated changes to the main project and engage in its development.
Among the ideas for possible functionality expansion of SQLite, the following are mentioned:
- Integration of tools for building distributed databases, working at the library level rather than through replication of changes in the file system (LiteFS), and without developing a separate product (dqlite, rqlite, ChiselStore).
- Optimization for the use of asynchronous APIs, such as the io_uring interface provided by the Linux kernel.
- The ability to use SQLite in the Linux kernel, similar to the support in the eBPF virtual machine kernel, for situations where it is necessary to preserve datasets from the kernel that do not fit in RAM.
- Support for user-defined functions written in any programming languages and compiled to WebAssembly intermediate code.
Source: opennet.ru
