asopi tech
asopi techIndie Developer

Asopitech VS

pgvector vs Alopex DB

PostgreSQLの拡張pgvectorのベクトル型、HNSWとIVFFlat、距離の種類を、本体に組み込んだAlopex DBのベクトル検索と比べて紹介します。

更新: 2026/10/11

pgvectorとは

pgvectorは、PostgreSQLにベクトル型とベクトル索引を足す拡張です。CREATE EXTENSION vector で取り込みます。ベクトル検索を、既存のSQLとトランザクションの中で使えます。READMEは、ACID、ポイントインタイムリカバリ、JOINなどPostgreSQLの機能をそのまま使えると説明しています。

仕組み

  • 拡張として、PostgreSQLの型、演算子、索引の仕組みに載ります。分離レベル、変更ログ、レプリケーションは、PostgreSQL本体に従います。
  • 近似検索の索引は、HNSWとIVFFlatです。完全探索(索引なし)もできます。
  • READMEは、HNSWが速度と再現率の釣り合いで勝る一方、構築が遅くメモリを多く使うと説明しています。HNSWはデータが空でも作れます。IVFFlatは学習の段階が要ります。
  • pgvectorscale:pgvectorの上に載る拡張です。StreamingDiskANN索引、Statistical Binary Quantizationの圧縮、ラベルでの絞り込みを足します。Rustで書かれています。
  • VectorChord:pgvectorの型と構文に対応する、ディスク効率を重視したベクトル索引の拡張です。pgvectorに依存します。

主な機能

  • 型:vector は最大2,000次元、halfvec は最大4,000次元です。sparsevec、ビット型もあります。
  • 索引:HNSWとIVFFlat。
  • 距離:L2、内積、コサイン、L1、ビットのHamming・Jaccard。

制限

PostgreSQL本体の制限を引き継ぎます。通常は単一のプライマリが書き込みを受け、複数ノードでの書き込み分散はありません。大量のベクトルには、量子化などでの対処がREADMEにあります。pgvectorscaleの距離は、コサイン、L2、内積で、ラベルの値はsmallintの範囲に限られます。Intel製のMacでのpgvectorscaleのビルドは、未解決の問題のため対応していません。VectorChordのライセンスは、AGPLv3とElastic License v2からの選択です。

Alopex DBとの違い

どちらも、SQLの中でベクトル検索を使えます。HNSWも共通です。

pgvectorはPostgreSQLに足す拡張です。Alopex DBは、ベクトル型とHNSW索引が本体の一部なので、インストールするだけで使えます。1ファイルのデータベースに、SQLもKVもベクトルも一緒に入ります。

距離は、コサイン、L2、内積から選べます。索引なしの完全探索で正確な結果を得ることも、HNSW索引で高速に検索することもできます。どちらも、SQLの条件と組み合わせられます。

観点pgvectorAlopex DB
提供形態PostgreSQLの拡張本体の機能
索引HNSW、IVFFlatHNSW、完全探索
距離L2、内積、コサイン、L1などコサイン、L2、内積

ベクトル検索が本体にあるAlopex DBは、拡張を入れずにSQLから近いものを探せます。同じ問い合わせをクイックスタートで試してみよう。

参考資料

関連ページ