milvus-logo
LFAI
フロントページへ
  • スタート
    • Milvusのインストール

Milvus導入オプションの概要

Milvusは高性能でスケーラブルなベクトルデータベースです。Jupyter Notebooksでローカルに実行されるデモから、数百億のベクトルを扱う大規模なKubernetesクラスタまで、幅広い規模のユースケースをサポートしています。現在、Milvusには3つの導入オプションがある:Milvus Lite、Milvus Standalone、Milvus Distributedです。

Milvus Lite

Milvus Liteは、アプリケーションにインポート可能なPythonライブラリです。Milvusの軽量版として、Jupyter Notebookでの迅速なプロトタイピングや、リソースの限られたスマートデバイスでの実行に最適です。Milvus Liteは他のMilvusと同じAPIをサポートしています。Milvus Liteとインタラクションするクライアント側のコードは、他のデプロイメントモードのMilvusインスタンスでも動作します。

Milvus Liteをアプリケーションに統合するには、pip install pymilvus を実行してインストールし、MilvusClient("./demo.db") ステートメントを使用して、すべてのデータを永続化するローカルファイルを持つベクトルデータベースをインスタンス化します。詳細はMilvus Liteの実行を参照してください。

Milvusスタンドアロン

Milvus Standaloneはシングルマシンサーバです。Milvus Standaloneの全コンポーネントは単一のDockerイメージにまとめられており、デプロイに便利です。本番ワークロードがあるがKubernetesを使用したくない場合、十分なメモリを搭載したシングルマシン上でMilvus Standaloneを実行することは良い選択肢となる。さらに、Milvus Standaloneはマスタースレーブレプリケーションによる高可用性をサポートしています。

Milvus Distributed

Milvus DistributedはKubernetesクラスタ上にデプロイすることができる。このデプロイはクラウドネイティブアーキテクチャを特徴としており、インジェスト負荷と検索クエリは分離されたノードによって別々に処理され、重要なコンポーネントの冗長性を可能にする。最高のスケーラビリティと可用性を提供するだけでなく、各コンポーネントに割り当てられたリソースを柔軟にカスタマイズできる。Milvus Distributedは、大規模なベクトル検索システムを本番稼動させている企業ユーザーにとって、最良の選択肢となります。

ユースケースに適したデプロイメントの選択

デプロイメントモードの選択は通常、アプリケーションの開発段階によって異なります:

  • クイックプロトタイピング

    RAG(Retrieval Augmented Generation)デモ、AIチャットボット、マルチモダリティ検索など、プロトタイプや学習用として素早く何かを構築したい場合、Milvus Lite単体、またはMilvus LiteとMilvus Standaloneの組み合わせが適しています。ラピッドプロトタイピングのためにノートブックでMilvus Liteを使用し、RAGで異なるチャンキング戦略など様々なアプローチを検討することができます。Milvus Liteでビルドしたアプリケーションを小規模なプロダクションにデプロイして実際のユーザに提供したり、数百万ベクトルを超えるような大規模なデータセットでアイデアを検証することもできます。Milvus Standaloneが適しています。Milvus Liteのアプリケーションロジックは、すべてのMilvusデプロイメントが同じクライアントサイドAPIを持っているため、共有することができます。Milvus Liteに保存されたデータは、コマンドラインツールを使ってMilvus Standaloneに移植することもできます。

  • 小規模本番導入

    プロジェクトがまだ製品市場適合性を模索しており、スケーラビリティよりもアジリティが重要な初期段階の本番環境には、Milvus Standaloneが最適です。十分なマシンリソースがあれば100Mベクターまで拡張可能であり、K8sクラスタを維持するよりもはるかに少ないDevOpsで済みます。

  • 大規模本番展開

    ビジネスが急成長し、データ規模が単一サーバーの容量を超えた場合、Milvus Distributedを検討する時期に来ています。Milvus Standaloneを開発環境やステージング環境として利用し、Milvus Distributedを実行するK8sクラスタを運用することができます。これにより、数百億のベクターに対応することができ、また、高読み込み、低書き込み、高書き込み、低読み込みのケースなど、特定のワークロードに合わせてノードサイズを柔軟に調整することができる。

  • エッジデバイスでのローカル検索

    エッジデバイス上のプライベートな情報や機密情報を検索する場合、クラウドベースのサービスに依存することなく、デバイス上にMilvus Liteを導入してテキスト検索や画像検索を行うことができます。これは、独自のドキュメント検索やデバイス上でのオブジェクト検出などのケースに適しています。

Milvusのデプロイメントモードの選択は、プロジェクトのステージや規模によって異なります。Milvusは、ラピッドプロトタイピングから大規模なエンタープライズ展開まで、様々なニーズに対応する柔軟で強力なソリューションを提供します。

  • Milvus Liteは、数百万ベクトルまでの小規模なデータセットに適しています。
  • Milvus Standaloneは、最大1億ベクトルまでの中規模データセットに適しています。
  • Milvus Distributedは大規模なデータセットに適しており、1億から数百億のベクターまで対応可能です。

Select deployment option for your use case ユースケースに合わせて導入オプションを選択してください。

機能比較

機能Milvus LiteMilvus スタンドアロンMilvus分散型
SDK/クライアントリラリPython
gRPC
Python
Go
Java
Node.js
C#
RESTful
Python
Java
Go
Node.js
C#
RESTful
データタイプDense Vector
Sparse Vector
Binary Vector
Boolean
Integer
Floating Point
VarChar
Array
JSON
Dense Vector
Sparse Vector
Binary Vector
Boolean
Integer
Floating Point
VarChar
Array
JSON
Dense Vector
Sparse Vector
Binary Vector
Boolean
Integer
Floating Point
VarChar
Array
JSON
検索機能Vector Search (ANN Search)
Metadata Filtering
Range Search
Scalar Query
Get Entities by Primary Key
Hybrid Search
Vector Search (ANN Search)
Metadata Filtering
Range Search
Scalar Query
Get Entities by Primary Key
Hybrid Search
Vector Search (ANN Search)
Metadata Filtering
Range Search
Scalar Query
Get Entities by Primary Key
Hybrid Search
CRUD操作✔️✔️✔️
高度なデータ管理該当なしアクセス・コントロール
パーティション
パーティション・キー
アクセスコントロール
パーティション
パーティションキー
物理リソースグループ化
一貫性レベル強いStrong
Bounded Staleness
Session
Eventual
Strong
Bounded Staleness
Session
Eventual

翻訳DeepL

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
フィードバック

このページは役に立ちましたか ?