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の条件と組み合わせられます。
| 観点 | pgvector | Alopex DB |
|---|---|---|
| 提供形態 | PostgreSQLの拡張 | 本体の機能 |
| 索引 | HNSW、IVFFlat | HNSW、完全探索 |
| 距離 | L2、内積、コサイン、L1など | コサイン、L2、内積 |
ベクトル検索が本体にあるAlopex DBは、拡張を入れずにSQLから近いものを探せます。同じ問い合わせをクイックスタートで試してみよう。