コレクション数の制限
Milvusインスタンスでは、最大65,536コレクションまで可能です。しかし、コレクション数が多すぎるとパフォーマンスに問題が生じる場合があります。そのため、Milvusインスタンスで作成されるコレクションの数を制限することをお勧めします。
このガイドでは、Milvusインスタンス内のコレクション数に制限を設定する方法を説明します。
設定はMilvusインスタンスのインストール方法によって異なります。
Helm Chartsを使用してインストールしたMilvusインスタンスの場合
values.yaml
ファイルのconfig
セクションに設定を追加します。詳細については、Helm Chartsを使用したMilvusの設定を参照してください。Docker Composeを使用してインストールしたMilvusインスタンスの場合
Milvusインスタンスの起動に使用した
milvus.yaml
ファイルに設定を追加します。詳細については、Docker Composeを使用したMilvusの設定を参照してください。Operatorを使用してインストールしたMilvusインスタンスの場合
Milvus
カスタムリソースのspec.components
セクションに設定を追加します。詳細については、「Operatorを使用したMilvusの設定」を参照してください。
構成オプション
rootCoord:
maxGeneralCapacity: 65536
maxGeneralCapacity
パラメータは、現在のMilvusインスタンスが保持できるコレクションの最大数を設定します。デフォルト値は65536
です。
コレクション数の計算
コレクションでは、複数のシャードとパーティションを設定できます。シャードは、データの書き込み操作を複数のデータノードに分散するために使用される論理単位です。パーティションは、コレクションデータのサブセットのみをロードすることで、データ 検索の効率を向上させるために使用される論理単位です。現在のMilvusインスタンスのコレクション数を計算する場合、シャードとパーティションも数える必要があります。
例えば、すでに100コレクションを作成し、そのうちの60コレクションに2シャードと4パーティションがあり、残りの40コレクションに1シャードと12パーティションがあるとします。コレクションユニットの総数(shards × partitions
として計算)は、次のように決定できます:
60 (collections) x 2 (shards) x 4 (partitions) + 40 (collections) x 1 (shard) x 12 (partitions) = 960
この例では、計算された合計960コレクションユニットが現在の使用量を表します。maxGeneralCapacity
は、インスタンスがサポートできるコレクションユニットの最大数を定義します。これは、デフォルトで65536
に設定されています。これは、インスタンスが最大65,536コレクション・ユニットに対応できることを意味します。合計数がこの制限を超えると、システムは以下のエラー・メッセージを表示します:
failed checking constraint: sum_collections(parition*shard) exceeding the max general capacity:
このエラーを回避するには、既存または新規コレクションのシャードまたはパーティションの数を減らすか、一部のコレクションを削除するか、maxGeneralCapacity
の値を増やします。