El proyecto libSQL ha intentado crear un fork de la base de datos SQLite, orientado a la apertura para la participación de desarrolladores de la comunidad y a la promoción de innovaciones que van más allá del propósito original de SQLite. La razón para crear este fork es la política bastante estricta de SQLite sobre la aceptación de código externo de la comunidad, a pesar de la necesidad de promover mejoras. El código del fork se distribuye bajo la licencia MIT (SQLite se ofrece como dominio público).
Los creadores del fork tienen la intención de mantener la compatibilidad con SQLite y adherirse al mismo nivel de calidad, manteniendo el conjunto de pruebas y ampliándolo gradualmente a medida que se agreguen innovaciones. Para desarrollar nuevas funcionalidades, se propone permitir el uso del lenguaje Rust, manteniendo al mismo tiempo la parte central en C. En caso de que cambie la política del proyecto principal SQLite respecto a la aceptación de modificaciones, los desarrolladores de libSQL tienen la intención de trasladar los cambios acumulados al proyecto principal y unirse a su desarrollo.
Entre las ideas para la posible ampliación de funcionalidades de SQLite se mencionan:
- Integración de herramientas para construir bases de datos distribuidas que operen a nivel de la propia biblioteca, y no a través de la replicación de cambios en el sistema de archivos (LiteFS), y sin desarrollar un producto separado (dqlite, rqlite, ChiselStore).
- Optimización para el uso de API asíncronas, como la interfaz io_uring proporcionada por el núcleo de Linux.
- Posibilidad de usar SQLite en el núcleo de Linux, similar al soporte en el núcleo de la máquina virtual eBPF, para situaciones donde es necesario mantener conjuntos de datos desde el núcleo que no caben en la memoria RAM.
- Soporte para funciones definidas por el usuario, escritas en cualquier lenguaje de programación y compiladas en código intermedio WebAssembly.
Fuente: opennet.ru
