asopi tech
asopi techIndie Developer

Asopitech VS

libSQL vs Alopex DB

SQLiteのフォークlibSQLの組み込みレプリカ、サーバー、内蔵のベクトル検索を、Alopex DBと比べて紹介します。

更新: 2026/10/12

libSQLとは

libSQLは、Tursoが作り保守する、SQLiteのオープンソースのフォークです。組み込みレプリカとリモートアクセスを足しています。

仕組み

  • 組み込みレプリカ:アプリの中に、複製したデータベースを持ちます。
  • libSQL server:SQLiteにネットワーク越しにアクセスするサーバーです。
  • ベクトル型:FLOAT64、FLOAT32、FLOAT16、FLOATB16、FLOAT8、FLOAT1BITの型を、SQLiteのBLOBとして保存します。拡張なしで使えます。
  • ベクトル索引:libsql_vector_idx で、DiskANNの索引を作ります。vector_top_k 関数で近いベクトルを探します。

主な機能

ALTER TABLEでの列の型と制約の変更、WebAssemblyのユーザー定義関数を、SQLiteに足しています。TypeScript、Rust、Goの公式ドライバがあります。

制限

  • 公式は、libSQLがSQLiteの書き込みが1つずつという制約をそのまま受け継ぐと書いています。
  • 新しい機能は、別のプロジェクトのTurso databaseで開発しています。公式は、新しいプロジェクトにはTursoを勧めています。
  • PythonとCのドライバは、実験的です。
  • DiskANNの索引は近似検索で、行が多いテーブルでは、最良でない近傍を返すことがあります。
  • ベクトル索引は、ROWIDを持つテーブルか、単一の主キーを持つテーブルだけで使えます。
  • FLOAT1BITのベクトルでは、ユークリッド距離を使えません。

Alopex DBとの違い

どちらも、アプリに組み込むSQLデータベースで、ベクトル検索を本体に持ちます。

Alopex DBは、テーブルの行とベクトルを同じトランザクションで更新し、データは .alopex の1つのファイルにまとまります。全文検索と列指向のテーブルも本体に持ちます。

組み込みとサーバーを同じファイル形式で行き来できるAlopex DBを、設計の中心におすすめします。入口はクイックスタートです。

参考資料

関連ページ