Проект libSQL начал развитие форка СУБД SQLite

Проектом libSQL предпринята попытка создания форка СУБД SQLite, ориентированного на открытость для участия разработчиков из сообщества и продвижение новшеств, выходящих за рамки изначального назначения SQLite. В качестве причины создания форка называется достаточно жёсткая политика SQLite в отношении приёма стороннего кода от сообщества при наличии потребности в продвижении улучшений. Код форка распространяется под лицензией MIT (SQLite поставляется как общественное достояние).

Создатели форка намерены поддерживать совместимость с основном SQLite и придерживаться того же уровня качества, сохраняя набор тестовых сценариев и постепенно расширяя его по мере добавления новшеств. Для разработки новой функциональности предлагается предоставить возможность использования языка Rust, сохраняя при этом базовую часть на языке Си. В случае изменения политики основного проекта SQLite в отношении приёма изменений, разработчики libSQL намерены перенести накопленные изменения в основной проект и подключиться к его развитию.

Среди идей по возможному расширению функциональности SQLite упоминаются:

  • Интеграция средств для построения распределённых баз данных, работающих на уровне самой библиотеки, а не через репликацию изменений в файловой системе (LiteFS), и без развития отдельного продукта (dqlite, rqlite, ChiselStore).
  • Оптимизация для использования асинхронных API, таких как предоставляемый ядром Linux интерфейс io_uring.
  • Возможность использования SQLite в ядре Linux, по аналогии с поддержкой в ядре виртуальной машины eBPF, для ситуаций, когда требуется сохранять из ядра наборы данных, не умещающиеся в оперативную память.
  • Поддержка определяемых пользователем функций, написанных на любых языках программирования и скомпилированных в промежуточный код WebAssembly.
Release. Ссылка here.