技術
ベクトルDBとは?
別名: Vector Database / Vector DB
Embeddingsを保存・検索するための専用DB。
⚡ 30秒でわかる
ベクトルDB の主なポイント
- 1 ベクトルDBは、Embeddings(意味を数字化したベクトル)を保存し「意味が似たデータ」を高速検索するための専用データベース。
- 2 完全一致を探す普通のDBと違い、コサイン類似度などの距離計算で「意味の近さ」順に結果を返すのが最大の特徴。
- 3 膨大なデータでも瞬時に探せるよう、内部ではANN(近似最近傍探索/HNSWなど)という高速アルゴリズムを使う。
- 4 RAG(検索拡張生成)でAIに社内文書や最新情報を読ませる仕組みの中核部品。
- 5 代表例は Pinecone・Weaviate・Qdrant・Milvus・Chroma、PostgreSQL拡張の pgvector など。
📖 詳しく
ベクトルDB とは
ベクトルDB(ベクトルデータベース)は、Embeddings(言葉や画像を意味ごとに数字の列へ変換したもの)を大量に保存し、「意味が近いもの」を高速に探すために特化したデータベースです。ふつうのデータベースが「IDや日付が完全一致する行」を探すのに対し、ベクトルDBは「この文章と意味が似ているデータ」を距離計算(コサイン類似度など)で探せるのが大きな違いです。たとえば「返品したい」という質問に対し、言葉は違っても意味の近い「返金ポリシー」の社内文書を引っ張ってこられます。何百万件もある中から似たものを瞬時に見つけるため、内部では近似最近傍探索(ANN、HNSWなどのアルゴリズム)という工夫を使っています。RAG(検索拡張生成)でAIに社内情報を読ませる仕組みの心臓部であり、代表例には Pinecone・Weaviate・Qdrant・Milvus・Chroma や、PostgreSQL に後付けできる pgvector などがあります。
❓ FAQ
よくある質問
- Q. ベクトルDBとは何ですか?
- A. Embeddings(言葉や画像を意味ごとに数字の列へ変換したもの)を保存し、「意味が近いもの」を高速に検索するための専用データベースです。普通のデータベースが完全一致で探すのに対し、ベクトルDBは距離計算で「似ているデータ」を順に返せます。RAGでAIに独自情報を読ませる際の中核として使われます。
- Q. 普通のデータベース(RDB)と何が違うのですか?
- A. RDBはIDや日付などが「完全一致する行」を探すのが得意ですが、ベクトルDBは「意味が似ているデータ」を距離の近さで探します。そのため『返品したい』という質問から、言葉は違う『返金ポリシー』の文書を見つけられます。最近はPostgreSQLにpgvectorを入れて、RDBにベクトル検索を足す使い方も一般的です。
- Q. EmbeddingsやRAGとはどういう関係ですか?
- A. Embeddingsが「データを意味のあるベクトルに変換する技術」、ベクトルDBが「そのベクトルを保存して似たものを探す入れ物」です。RAGはこの2つを組み合わせ、まずベクトルDBで関連文書を検索し、その内容をAIに渡して答えさせる仕組みを指します。3つはRAGを支える役割分担の関係にあります。
- Q. 初心者はどれを使えばよく、何に注意すべきですか?
- A. 小さく試すなら、Pythonですぐ動く Chroma や、PostgreSQLにそのまま追加できる pgvector が始めやすいです。注意点は、検索精度はベクトルを作るEmbeddingsモデルの質に大きく左右されること、そしてANNは「近似」なので速さと正確さのバランス調整が必要なことです。まずは少量データで検索結果の手応えを確かめるのがおすすめです。
🔗 関連
あわせて読みたい
📰 この用語が登場する記事