pgvector

PostgreSQLにベクトルデータ型(vector)とその類似検索機能を追加する拡張機能。テキストや画像の埋め込み(embedding)をリレーショナルデータベースに直接保存し、類似度検索ができる。生成AIによるRAG(検索拡張生成)や画像検索、レコメンドエンジンなどの用途で使われる。

#postgresql #database #vector-search #ai

距離関数

コサイン類似度、L2距離、内積など複数の距離指標をサポートする。なお単位ベクトル(正規化済み、長さ=1)同士であれば、内積とコサイン類似度は数学的に等価になる。

インデックス方式

  • IVFFlat: データをクラスタリングしてから検索範囲を絞る方式。学習コストは抑えられるが、性能を保つために定期的な再構築が必要。
  • HNSW: グラフ構造を使った近似最近傍探索方式。高精度・高速だがインデックス構築の負荷が大きい。学習ステップがなく、データが空の状態からインデックスを作成してデータ追加とともに段階的に構築できる点がIVFFlatと異なる。

メリット

AWS/Azure/GCPなど主要クラウドのマネージドPostgreSQLサービスでも対応しており、既存のBIツールやSQLベースの分析基盤とも相性がよい。PostgreSQLの知見があれば学習コストを抑えて導入できる。PGliteのようなWASM版Postgresでも対応拡張機能として使え、ブラウザ内でのローカルベクトル検索が可能になる。

出典

作成日時: 2026-08-10 17:10 / 更新日時: 2026-08-15 07:14