Limiter le nombre de collections
Une instance Milvus autorise jusqu'à 65 536 collections. Cependant, un trop grand nombre de collections peut entraîner des problèmes de performances. Il est donc recommandé de limiter le nombre de collections créées dans une instance Milvus.
Ce guide explique comment limiter le nombre de collections dans une instance Milvus.
La configuration varie en fonction du mode d'installation de l'instance Milvus.
Pour les instances Milvus installées à l'aide de Helm Charts
Ajouter la configuration au fichier
values.yaml
dans la sectionconfig
. Pour plus de détails, voir Configurer Milvus avec Helm Charts.Pour les instances Milvus installées à l'aide de Docker Compose
Ajouter la configuration au fichier
milvus.yaml
que vous avez utilisé pour démarrer l'instance Milvus. Pour plus de détails, voir Configurer Milvus avec Docker Compose.Pour les instances Milvus installées à l'aide de Operator
Ajouter la configuration Ă la section
spec.components
de la ressource personnaliséeMilvus
. Pour plus de détails, voir Configurer Milvus avec Operator.
Options de configuration
rootCoord:
maxGeneralCapacity: 65536
Le paramètre maxGeneralCapacity
définit le nombre maximum de collections que l'instance Milvus actuelle peut contenir. La valeur par défaut est 65536
.
Calcul du nombre de collections
Dans une collection, il est possible de configurer de multiples taches et partitions. Les groupes sont des unités logiques utilisées pour répartir les opérations d'écriture de données entre plusieurs nœuds de données. Les partitions sont des unités logiques utilisées pour améliorer l'efficacité de la récupération des données en ne chargeant qu'un sous-ensemble des données de la collection. Lorsque vous calculez le nombre de collections dans l'instance actuelle de Milvus, vous devez également compter les unités de stockage (shards) et les partitions.
Par exemple, supposons que vous ayez déjà créé 100 collections, avec 2 tessons et 4 partitions dans 60 d'entre elles et avec 1 tesson et 12 partitions dans les 40 autres collections. Le nombre total d'unités de collection (calculé à l'adresse shards × partitions
) peut être déterminé comme suit :
60 (collections) x 2 (shards) x 4 (partitions) + 40 (collections) x 1 (shard) x 12 (partitions) = 960
Dans cet exemple, le total calculé de 960 unités de collection représente l'utilisation actuelle. maxGeneralCapacity
définit le nombre maximum d'unités de collection qu'une instance peut prendre en charge, qui est fixé à 65536
par défaut. Cela signifie que l'instance peut prendre en charge jusqu'à 65 536 unités de collecte. Si le nombre total dépasse cette limite, le système affichera le message d'erreur suivant :
failed checking constraint: sum_collections(parition*shard) exceeding the max general capacity:
Pour éviter cette erreur, vous pouvez soit réduire le nombre de shards ou de partitions dans les collections existantes ou nouvelles, soit supprimer certaines collections, soit augmenter la valeur de maxGeneralCapacity
.