Vector Database(ベクトルデータベース)とは
Vector Database(ベクトルデータベース)とは、テキストや画像・音声・動画などから生成した高次元ベクトル(エンベディング)を保存し、「意味的に近いデータ」を高速に検索できるデータベースのことです。生成AIの普及にともない、2023年以降爆発的に採用が拡大し、今ではRAG(検索拡張生成)を実装するうえで欠かせない基盤技術になりました。従来のリレーショナルDBが「完全一致検索」を得意としたのに対し、ベクトルDBは「類似度検索」を得意とします。
身近な例えでいうと、従来のDBは「目次から該当ページをピンポイントで探す図書館」のような存在でした。一方ベクトルDBは「本の内容を理解した司書が、『こういう話を読みたい』と言われたら近い本を何冊かおすすめしてくれる」ような働きをします。ここが重要なポイントで、意味の近さに基づいて検索できるため、表現の揺れやシノニム、多言語の問い合わせにも対応できます。
Vector Databaseの読み方
ベクトルデータベース
ベクターデータベース
ベクトルDB
Vector Databaseの仕組み
Vector Databaseの核は「埋め込み(エンベディング)」と「近傍探索(ANN: Approximate Nearest Neighbor)」の2つです。テキストや画像を埋め込みモデル(例: OpenAI text-embedding-3-small, Cohere embed-v3)に通すと、数百〜数千次元の浮動小数点ベクトルになります。このベクトル同士のコサイン類似度やユークリッド距離を計算することで、「意味的に近い」データを見つけられます。
Vector DBの基本フロー
ANNアルゴリズム
正確な最近傍探索は計算コストが高いため、近似最近傍探索(ANN)アルゴリズムが使われます。代表的なものはHNSW(Hierarchical Navigable Small World)、IVF(Inverted File Index)、PQ(Product Quantization)です。HNSWは精度と速度のバランスに優れ、多くの製品でデフォルトになっています。覚えておきましょう。
次元削減と圧縮
高次元ベクトルはそのままだとメモリを大量に消費します。実務ではPQ(Product Quantization)やBinary Quantizationで圧縮し、メモリ使用量を1/10〜1/32に削減します。ここが重要なポイントで、圧縮を工夫することで数億ベクトルを現実的なコストで扱えるようになります。
メタデータとフィルタリング
本番ではベクトル検索だけでなく、「日付が2026年以降」「タグに security を含む」といった構造化フィルターと組み合わせるケースが多いです。このため、多くのVector DBはハイブリッド検索(ベクトル+メタデータ)に対応しています。
Vector Databaseの使い方・実例
RAGを実装する最も一般的なパターンを、pgvector(PostgreSQL拡張)で示します。pgvectorは追加インフラが不要で、既存のPostgreSQLに `CREATE EXTENSION vector` を実行するだけで導入できるため、2026年時点で最も採用されている選択肢の一つです。
-- テーブル作成
CREATE EXTENSION IF NOT EXISTS vector;
CREATE TABLE docs (
id SERIAL PRIMARY KEY,
content TEXT,
embedding VECTOR(1536)
);
-- HNSWインデックス
CREATE INDEX ON docs USING hnsw (embedding vector_cosine_ops);
-- 投入(OpenAI text-embedding-3-small は1536次元)
INSERT INTO docs (content, embedding)
VALUES ('Vector DBは類似度検索が得意', '[0.123, -0.456, ...]');
-- 類似検索: 質問ベクトルに最も近いTop-5
SELECT id, content
FROM docs
ORDER BY embedding <=> '[0.11, -0.44, ...]'
LIMIT 5;
`<=>` 演算子はコサイン距離を意味し、小さいほど類似度が高くなります。実務ではPythonのpsycopg2やasyncpgから呼び出すのが一般的です。
主要なVector DB製品
| 製品 | 形態 | 特徴 |
|---|---|---|
| Pinecone | フルマネージド | 導入が簡単、運用レス |
| Weaviate | OSS/クラウド | GraphQL、モジュール型 |
| Milvus | OSS | 大規模対応、Zilliz提供 |
| Qdrant | OSS/クラウド | Rust製、高性能 |
| pgvector | PostgreSQL拡張 | 既存DBに追加導入 |
| Chroma | OSS | Python中心、軽量 |
Vector Databaseのメリット・デメリット
メリット
- 意味検索が実装できる:同義語・表現の揺れ・多言語検索にも対応。
- RAGの基盤:LLMの知識制限を超えて最新情報や社内文書を参照できる。
- マルチモーダル対応:画像・音声・動画も同じベクトル空間で扱える。
- スケーラブル:ANNインデックスで数億件規模でも低レイテンシ検索が可能。
デメリット
- ストレージコストが高い:1536次元×4バイトで1ベクトル約6KB。1億件で600GB。圧縮しないと大規模運用は現実的でない。
- 埋め込みモデルに依存:埋め込みモデルを変えると全データ再生成が必要。
- 精度のチューニング:チャンクサイズ、overlap、検索Kの調整が品質を左右する。実務ではトライ&エラーが避けられません。注意してください。
- コスト:マネージド製品は数GBで月数十ドル〜になる。
Vector DatabaseとRDB・全文検索エンジンの違い
3種類のデータベースはまったく異なる検索モデルを持ちます。比較表で違いを把握しておくと、アーキテクチャ選定で迷いません。
| 観点 | Vector DB | RDB | 全文検索エンジン |
|---|---|---|---|
| 検索軸 | 意味的類似度 | 完全一致・範囲 | キーワード一致 |
| 代表 | Pinecone, Milvus | MySQL, PostgreSQL | Elasticsearch |
| AI連携 | RAG標準 | トランザクション | ログ検索 |
実務では3種類を併用することが増えています。例えば「Elasticsearchでキーワード検索→Vector DBで意味検索→結果をマージ(ハイブリッド検索)」というパターンです。
よくある誤解
誤解1:Vector DBがあればRAGの品質問題は解決する
Vector DB自体は「似ているものを返す」だけで、返された内容の真偽は保証しません。実務ではチャンク設計・リランキング・プロンプト設計が品質の8割を決めます。Vector DBは必要条件ですが十分条件ではありません。
誤解2:Vector DBは新しい別物のDBである
pgvectorのようにPostgreSQLの拡張で動くものもあり、「別のシステム」とは限りません。既存のPostgreSQLで十分なケースも多く、新規導入前に確認するのが実務的です。
誤解3:次元数は多いほど良い
必ずしもそうではありません。1536次元のOpenAI text-embedding-3-smallで十分なケースが多く、単に次元数が多いだけではコストとメモリが増え精度は頭打ちになります。タスクに合った次元数選びが大切です。
実務での活用シーン
社内ドキュメント検索(RAG)
社内規程、マニュアル、過去議事録などを埋め込んでおき、LLMに「この質問に社内知識で答えて」という形で参照させます。ChatGPT Enterprise、Claude for Enterpriseの多くがVector DBベースです。
商品レコメンド
商品説明文・画像を埋め込み、ユーザーの行動履歴から類似商品を提示します。ECサイトのレコメンドエンジンがベクトル検索に置き換わっているケースが増えています。
画像検索・重複検出
CLIPなどの画像埋め込みモデルで、「これに似た画像」「重複している画像」を効率的に検出できます。著作権管理・コンテンツモデレーションで実利用が進んでいます。
カスタマーサポート
過去の問い合わせを埋め込み、新規問い合わせに対し類似ケースと回答テンプレを提示します。サポートオペレーターの対応時間を半減させる事例もあります。
よくある質問(FAQ)
Q1. 個人開発でも使えますか?
使えます。Chromaやpgvectorなら無料で始められ、軽量アプリなら無料枠で動きます。小規模ならSQLiteにベクトルを格納する`sqlite-vec`という選択肢もあります。
Q2. どのVector DBを選べばいいですか?
目安として、既存PostgreSQLがあるならpgvector、クラウド完結で運用を減らしたいならPinecone、大規模OSSならMilvus、手元で試すならChromaが鉄板です。
Q3. ハイブリッド検索は必要ですか?
多くの実務ケースで必要です。キーワード完全一致(BM25)とベクトル検索を組み合わせるほうが、純粋なベクトル検索より精度が高いことが知られています。
Q4. 埋め込みモデルは何を選べばいいですか?
汎用ならOpenAI text-embedding-3-small、コスト重視ならCohere embed-v3、オンプレ必須ならBGE系やE5系のOSSモデルが定番です。
まとめ
- Vector Database(ベクトルデータベース)は高次元ベクトルの類似度検索に特化したDB。
- 読み方は「ベクトルデータベース」。ベクトルDB、ベクターDBとも呼ばれる。
- 核となる技術はEmbeddingとANN(HNSW/IVF/PQ)。
- RAGの基盤として生成AI活用に不可欠。
- 代表製品はPinecone、Weaviate、Milvus、Qdrant、pgvector、Chroma。
- RDB・全文検索と併用するハイブリッド検索が実務では主流。
- 選定は規模・運用形態・既存インフラで決める。
参考文献・出典
📚 参考文献・出典
- ・pgvector 公式ドキュメント https://github.com/pgvector/pgvector
- ・Pinecone Docs https://docs.pinecone.io/
- ・Weaviate Documentation https://weaviate.io/developers/weaviate
- ・Malkov & Yashunin「Efficient and robust approximate nearest neighbor search using Hierarchical Navigable Small World graphs」 https://arxiv.org/abs/1603.09320
- ・Milvus Documentation https://milvus.io/docs
Read this article in English:
What Is a Vector Database? Meaning, Pronunciation, and How It Works →

































コメントを残す