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 section config. 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ée Milvus. Pour plus de détails, voir Configurer Milvus avec Operator.

Options de configuration

rootCoord:
    maxGeneralCapacity: 65536

quotaAndLimits:
    limits:
        maxCollectionNum: 65536
        maxCollectionNumPerDB: 65536

Pour modifier la limite de collecte, vous devez modifier les trois paramètres ensemble :

ParamètreParamètre DescriptionValeur par défaut
rootCoord.maxGeneralCapacityNombre maximal d'unités de collection (shards × partitions) que l'instance actuelle peut contenir.65536
quotaAndLimits.limits.maxCollectionNumNombre maximal de collections autorisées dans toutes les bases de données de l'instance actuelle.65536
quotaAndLimits.limits.maxCollectionNumPerDBNombre maximal de collections autorisées dans une seule base de données.65536

Par exemple, pour augmenter la limite Ă  200 000 collections :

rootCoord:
    maxGeneralCapacity: 200000

quotaAndLimits:
    limits:
        maxCollectionNum: 200000
        maxCollectionNumPerDB: 200000

Le fait de régler uniquement maxGeneralCapacity sans régler également maxCollectionNum et maxCollectionNumPerDB n'aura pas d'effet. Les trois paramètres doivent être réglés à la même valeur ou à une valeur supérieure pour augmenter la limite de collection.

Calcul du nombre de collections

Dans une collection, il est possible de configurer de multiples partages 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 maximal 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 fragments ou de partitions dans les collections existantes ou nouvelles, soit supprimer certaines collections, soit augmenter la limite de collection en modifiant maxGeneralCapacity, maxCollectionNum, et maxCollectionNumPerDB ensemble.

Try Managed Milvus for Free

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

Get Started
Feedback

Cette page a-t - elle été utile ?