Projekt libSQL rozpoczął opracowywanie rozwidlenia SQLite DBMS

W ramach projektu libSQL podjęto próbę stworzenia rozwidlenia bazy danych SQLite, skupiając się na otwartości na udział programistów społeczności i promowaniu innowacji wykraczających poza pierwotny cel SQLite. Powodem rozwidlenia jest dość surowa polityka SQLite polegająca na akceptowaniu kodu strony trzeciej od społeczności, gdy istnieje potrzeba promowania ulepszeń. Kod forka jest rozpowszechniany na licencji MIT (SQLite jest w domenie publicznej).

Twórcy forka zamierzają zachować kompatybilność z głównym SQLite i utrzymać ten sam poziom jakości, zachowując zestaw przypadków testowych i stopniowo go rozszerzając w miarę dodawania nowych funkcji. W celu rozwijania nowych funkcjonalności proponuje się zapewnienie możliwości wykorzystania języka Rust, przy jednoczesnym zachowaniu części podstawowej w języku C. W przypadku zmiany polityki głównego projektu SQLite w zakresie akceptacji zmian, twórcy libSQL zamierzają przenieść skumulowane zmiany do głównego projektu i włączyć się w jego rozwój.

Wśród pomysłów na ewentualne rozszerzenie funkcjonalności SQLite wymienia się:

  • Integracja narzędzi do budowy rozproszonych baz danych, które działają na poziomie samej biblioteki, a nie poprzez replikację zmian w systemie plików (LiteFS) i bez rozwijania osobnego produktu (dqlite, rqlite, ChiselStore).
  • Optymalizacja pod kątem korzystania z asynchronicznych interfejsów API, takich jak interfejs io_uring dostarczany przez jądro systemu Linux.
  • Możliwość wykorzystania SQLite w jądrze Linuksa, podobnie jak wsparcie w jądrze maszyny wirtualnej eBPF, w sytuacjach, w których trzeba zapisać zestawy danych z jądra, które nie mieszczą się w pamięci RAM.
  • Obsługa funkcji zdefiniowanych przez użytkownika napisanych w dowolnym języku programowania i skompilowanych w pośredni kod WebAssembly.

Źródło: opennet.ru

Dodaj komentarz