Le projet libSQL a commencé à développer un fork du SGBD SQLite

Le projet libSQL a tenté de créer un fork du SGBD SQLite, axé sur l'ouverture à la participation des développeurs communautaires et sur la promotion d'innovations au-delà de l'objectif initial de SQLite. La raison de la création du fork est la politique assez stricte de SQLite concernant l'acceptation de code tiers de la communauté s'il est nécessaire de promouvoir des améliorations. Le code fork est distribué sous licence MIT (SQLite est publié dans le domaine public).

Les créateurs du fork ont ​​l'intention de maintenir la compatibilité avec le SQLite principal et de maintenir le même niveau de qualité, en conservant un ensemble de cas de test et en l'étendant progressivement au fur et à mesure que des innovations sont ajoutées. Pour développer de nouvelles fonctionnalités, il est proposé d'offrir la possibilité d'utiliser le langage Rust, tout en conservant la partie de base en langage C. Si la politique du projet SQLite principal concernant l'acceptation des modifications change, les développeurs libSQL ont l'intention de transférer les modifications accumulées vers le projet principal et de participer à son développement.

Parmi les idées pour une éventuelle extension des fonctionnalités de SQLite sont mentionnées :

  • Intégration d'outils de construction de bases de données distribuées fonctionnant au niveau de la bibliothèque elle-même, et non par réplication des modifications du système de fichiers (LiteFS), et sans développement d'un produit distinct (dqlite, rqlite, ChiselStore).
  • Optimisation pour l'utilisation d'API asynchrones, comme l'interface io_uring fournie par le noyau Linux.
  • La possibilité d'utiliser SQLite dans le noyau Linux, similaire à la prise en charge du noyau de machine virtuelle eBPF, pour les situations où il est nécessaire de sauvegarder des ensembles de données du noyau qui ne rentrent pas dans la RAM.
  • Prise en charge des fonctions définies par l'utilisateur écrites dans n'importe quel langage de programmation et compilées dans le code intermédiaire WebAssembly.

Source: opennet.ru

Ajouter un commentaire