Repolode
tursodatabase

tursodatabase/libsql

SQLiteをフォークした、オープンソースで外部からの貢献を受け入れるプロジェクト。組み込みレプリカ、リモートサーバーモード、SQLiteコアの拡張を追加します。

スター
17,280
フォーク
547
未解決の Issue
466
最終コミット
5 日前

これは何?

libSQLはTursoが保守するSQLiteのフォークです。SQLite APIとファイル形式を維持しているため、既存のSQLiteデータベースやコードをそのまま利用できる一方、SQLiteが当初想定していなかったユースケース向けの機能を追加しています。

主な追加機能は、データベースのレプリカをアプリケーション内に保持する組み込みレプリカと、PostgreSQLやMySQLに似た方法でSQLiteへのリモートアクセスを提供するlibSQL serverです。コアにはほかにも、列の型や制約を変更するALTER TABLE拡張、WebAssemblyユーザー定義関数、ランダム化されたROWID、仮想WALインターフェースが含まれています。

このプロジェクトでは外部からのコントリビューションを受け付けており、メンテナーはこれをupstreamのSQLiteとの主な違いとして位置付けています。TypeScript/JavaScript、Rust、Goなどのドライバーに加え、SQLite互換のコマンドラインシェルも用意されています。READMEによると、新機能の開発はTursoが別途進めているRustによる書き換え版で行われています。

主な機能

  • 01アプリケーション内にデータベースのレプリカを保持する組み込みレプリカ
  • 02SQLiteへのリモートアクセスを可能にするlibSQL server
  • 03列の型や制約を変更するALTER TABLE拡張
  • 04WebAssemblyユーザー定義関数
  • 05TypeScript/JavaScript、Rust、Go向けの公式ドライバー

ユースケース

  • ネットワーク経由のリモートアクセスに対応したSQLite互換ストレージの運用
  • エッジアプリケーションやクライアントアプリケーション内にローカルのレプリカを保持
  • SQLiteベースのアプリケーションにWebAssembly関数を追加

クイックスタート

  1. 1

    SQLite互換のCライブラリとツールをビルドする

    cargo xtask build
  2. 2

    libsql-sqlite3ディレクトリからSQLシェルを起動する

    cd libsql-sqlite3 && ./libsql

使う前に知っておきたいこと

  • SQLiteの単一ライターモデルを継承しているため、同時書き込みには対応していません。
  • 新機能はTursoで開発されているため、READMEでは新規プロジェクトには代わりにTursoを使うことを推奨しています。

トピック

よくある質問

libsql とは?
SQLiteをフォークした、オープンソースで外部からの貢献を受け入れるプロジェクト。組み込みレプリカ、リモートサーバーモード、SQLiteコアの拡張を追加します。 libSQLはTursoが保守するSQLiteのフォークです。SQLite APIとファイル形式を維持しているため、既存のSQLiteデータベースやコードをそのまま利用できる一方、SQLiteが当初想定していなかったユースケース向けの機能を追加しています。
libsql は無料で使えますか?ライセンスは?
libsql は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
libsql は今もメンテナンスされていますか?
活発にメンテナンス中。libsql の最終コミットは 2026年10月17日 です。
libsql は何に使えますか?
ネットワーク経由のリモートアクセスに対応したSQLite互換ストレージの運用 エッジアプリケーションやクライアントアプリケーション内にローカルのレプリカを保持 SQLiteベースのアプリケーションにWebAssembly関数を追加
libsql のインストール方法は?
SQLite互換のCライブラリとツールをビルドする: cargo xtask build libsql-sqlite3ディレクトリからSQLシェルを起動する: cd libsql-sqlite3 && ./libsql
libsql はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/tursodatabase/libsql

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト