ベクトルデータベースとは、テキストや画像を数値ベクトル(エンベディング)に変換して格納し、意味的な類似度に基づく高速検索を提供するデータベースである。
従来の RDB はキーワード一致で検索する。「犬」で検索すると「犬」という文字列を含む行がヒットするが、「子犬」「ワンちゃん」は拾えない。ベクトルデータベースはこの制約を突破する。
テキストをエンベディングモデルで数百〜数千次元のベクトルに変換して格納し、クエリとの「意味的な距離」で検索するため、同義語や言い換えにも対応できる。RAG(Retrieval-Augmented Generation)の普及とともに需要が急増した。LLM に外部知識を渡すには、まず関連文書を高速に検索する必要がある。
ベクトルデータベースはこの検索層を担うインフラだ。主要な実装としては、専用データベースの Pinecone や Weaviate、既存 DB への拡張として PostgreSQL の pgvector がある。pgvector は Supabase にも統合されており、既存の RDB 運用フローの中にベクトル検索を組み込めるのが利点だ。
インデックスアルゴリズムには HNSW(Hierarchical Navigable Small World)が広く使われている。検索精度と速度のトレードオフがあり、チャンクサイズの設計やメタデータフィルタの併用が実務上の腕の見せ所になる。


AI コーディングエージェント実践ガイド — Claude Code vs Codex で開発チームはどう変わるか
BM25(Best Matching 25)とは、文書中の単語の出現頻度と文書長を考慮してクエリとの関連度をスコアリングする確率的情報検索アルゴリズムである。