libSQL プロジェクトは、コミュニティ開発者の参加を受け入れ、SQLite の本来の目的を超えたイノベーションを促進することに重点を置いた SQLite データベースのフォークの作成を試みました。 フォークの理由として挙げられているのは、改善を促進する必要がある場合にはコミュニティからサードパーティのコードを受け入れるという SQLite のかなり厳格なポリシーです。 フォークのコードは MIT ライセンスに基づいて配布されます (SQLite はパブリック ドメインにあります)。
フォークの作成者は、メインの SQLite との互換性を維持し、同じレベルの品質を維持するつもりで、テスト ケースのセットを保持し、新機能が追加されるにつれて徐々に拡張していきます。 新しい機能を開発するには、C 言語の基本部分を維持しながら、Rust 言語を使用する機能を提供することが提案されています。 変更の受け入れに関するメイン SQLite プロジェクトのポリシーが変更された場合、libSQL 開発者は蓄積された変更をメイン プロジェクトに転送し、その開発に参加する予定です。
SQLite の機能拡張の可能性に関するアイデアとしては、次のものが挙げられます。
- ファイル システム (LiteFS) の変更のレプリケーションを介さず、別の製品 (dqlite、rqlite、ChiselStore) を開発することなく、ライブラリ自体のレベルで機能する分散データベースを構築するためのツールの統合。
- Linux カーネルによって提供される io_uring インターフェイスなどの非同期 API を使用するための最適化。
- RAM に収まらないデータ セットをカーネルから保存する必要がある場合に、eBPF 仮想マシンのカーネルでのサポートと同様に、Linux カーネルで SQLite を使用する機能。
- 任意のプログラミング言語で記述され、WebAssembly 中間コードにコンパイルされたユーザー定義関数のサポート。
出所: オープンネット.ru