ai-garage
技術

ベクトル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は「近似」なので速さと正確さのバランス調整が必要なことです。まずは少量データで検索結果の手応えを確かめるのがおすすめです。

更新を受け取る