コレクション数の制限
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パーティションがあるとします。現在のコレクション数は次のように計算できます:
60 (collections) x 2 (shards) x 4 (partitions) + 40 (collections) x 1 (shard) x 12 (partitions) = 960
上記の例では、デフォルトの制限のうち960をすでに使用しています。ここで、4つのシャードと20のパーティションで新しいコレクションを作成しようとすると、コレクションの合計数が最大容量を超えるため、次のようなエラープロンプトが表示されます:
failed checking constraint: sum_collections(parition*shard) exceeding the max general capacity:
このエラーを回避するには、既存または新規コレクションのシャード数またはパーティション数を減らすか、一部のコレクションを削除するか、maxGeneralCapacity
値を増やします。