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を、設計の中心におすすめします。入口はクイックスタートです。