【ミルバス】

Milvus とは?

最終更新:
💡 小規模の試作から分散構成まで、ベクトルを検索するDB

ベクトルの類似検索を行うオープンソースデータベース。アプリ内で使うLite、単一マシンのStandalone、水平スケーリングに対応するDistributedなど、規模や運用に応じた構成を選べる。

📌 このページのポイント
ベクトルを検索する処理を、分散して拡張する 📱 アプリ 検索用ベクトル Milvus:分散検索の模式図 要求の受付 🖥 検索処理 🖥 検索処理 🖥 検索処理 インデックスなどを使って類似検索 実際の速度は、構成や検索条件による
分散構成の検索を簡略化した模式図。矢印は検索要求を複数の処理へ振り分ける流れ。結果の返送、制御、書き込み、ストレージ等は省略。LiteとStandaloneはこの分散構成とは異なる。
ひよこ ひよこ
Milvusって何が得意なデータベースなの?
ペンギン先生 ペンギン先生
ベクトルを保存して、似たベクトルを検索することだよ。文章や画像などをベクトルに変換して登録し、検索する仕組みの一部として使える。検索に使うベクトルをどう作るかも設計する必要があるんだ。
ひよこ ひよこ
数十億件でも、必ずミリ秒で検索できる?
ペンギン先生 ペンギン先生
分散構成は大規模なデータを扱うために拡張できるけれど、応答時間はデータ量、インデックス、検索条件、計算資源などによるよ。製品名だけで一定の速度が保証されるわけではないんだ。
ひよこ ひよこ
どんな検索に使うの?
ペンギン先生 ペンギン先生
文章の意味に近い資料を探したり、画像の特徴が近い商品を探したりする用途があるよ。ただし似ているかどうかはベクトルの作り方や距離の選択にも左右される。推薦サービスがすべて同じ仕組みという意味ではないね。
ひよこ ひよこ
全部、複数のサーバーが必要?
ペンギン先生 ペンギン先生
LiteはPythonライブラリをアプリ内で使う構成、Standaloneは単一マシン上のサーバー構成、DistributedはKubernetes上の分散構成だよ。LiteとStandaloneを同じ版として扱わず、必要な機能や規模に合わせて選ぶんだ。
ひよこ ひよこ
運用を任せる方法もあるの?
ペンギン先生 ペンギン先生
Milvusを基盤とするZilliz Cloudというマネージドサービスもあるよ。自分で構築する場合もサービスを使う場合も、検索の条件やデータ管理は考える必要がある。OSSや財団への所属だけで、用途に合う品質や性能が決まるわけではないんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Milvus」って出てきたら「大規模対応のオープンソースベクトルDB」と思えればだいたいOK!
📖 おまけ:英語の意味
「Milvus」 = トビ属の鳥に由来する名前
💬 公式の紹介では、飛行速度や視力、適応力を持つトビ属の鳥に由来する名前として説明されているよ。名前のイメージだけで検索性能が保証されるわけではないんだ

参考資料

← 用語集にもどる