AI・機械学習
上級
Milvus(ミルバス)
LF AI & Dataが支援するオープンソースのベクトルデータベース。分散アーキテクチャとマルチインデックスサポートにより、数十億規模のベクトルを管理できるエンタープライズ向けの選択肢。
0 回閲覧
0 いいね
2026/6/4 更新
関連タグ
ベクトルDB
分散システム
CNCF
エンタープライズ
RAG
Milvus とは
Milvusは、2019年に中国系ベンチャーZilliz(本社米国)が開発を開始したオープンソースのベクトルデータベース。2021年にCloud Native Computing Foundation(CNCF)のIncubating Projectとなり、エンタープライズ採用が加速。現在のMilvus 2.xは完全な分散アーキテクチャに再設計されている。
分散アーキテクチャ
Milvus 2.xは以下のコンポーネントで構成される:
- Root Coord: メタデータ管理・タスクスケジューリング
- Query Coord: クエリルーティング
- Data Coord: データ書き込み管理
- Index Coord: インデックス構築管理
- Proxy: クライアントリクエスト受付
- MinIO / S3: ベクトルデータ永続化ストレージ
- etcd: メタデータKVストア
- Pulsar / Kafka: メッセージキュー(WAL)
この設計は小規模用途には過剰だが、数十億ベクトル以上のスケールで真価を発揮する。
多様なインデックスサポート
Milvusは業界で最も豊富なインデックスタイプをサポート:
| インデックス | 特性 | 適用場面 |
|---|---|---|
| HNSW | 高精度・高速 | 汎用(メモリ十分) |
| IVF_FLAT | 中精度・中速 | 大規模(メモリ節約) |
| IVF_PQ | 積量子化 | 超大規模 |
| DiskANN | ディスク常駐 | メモリ不足環境 |
| GPU_CAGRA | GPU加速 | 超高速クエリ |
Milvus Lite
v2.4から「Milvus Lite」が提供され、Pythonパッケージとして埋め込み利用が可能:
from pymilvus import MilvusClient
client = MilvusClient("./milvus_demo.db") # ローカルファイルDBとして動作
Docker不要でPythonスクリプト内にMilvusを埋め込める。本番ではMilvusクラスタ、開発ではMilvus Liteというパターンが推奨。
Milvus vs Qdrant
| 観点 | Milvus | Qdrant |
|---|---|---|
| 対象規模 | 数十億ベクトル以上 | 数億ベクトルまで |
| セットアップ | 高い(分散コンポーネント) | 低い(単一バイナリ) |
| GPU対応 | ✓(GPU_CAGRA) | △ |
| インデックス種類 | 最多(6種以上) | 中程度 |
数千万〜数億件はQdrant、それ以上のエンタープライズ規模はMilvusが定石。