🚀 Try Zilliz Cloud, the fully managed Milvus, for free—experience 10x faster performance! Try Now>>

milvus-logo
LFAI
Home
  • Concepts

Stratégies multi-locataires

Dans de nombreux cas d'utilisation, les développeurs souhaitent exécuter un cluster Milvus et servir plusieurs locataires, tels que quelques équipes de produits ou des millions d'utilisateurs finaux. Ce guide explique quelques stratégies différentes pour parvenir à une multi-tenance sur Milvus.

Milvus est conçu pour prendre en charge le multi-tenant au niveau de la base de données, de la collection ou de la partition. L'objectif de la multi-location est de séparer les données et les ressources les unes des autres. La mise en œuvre de l'utilisation multiple à différents niveaux peut permettre d'atteindre différents degrés d'isolation, mais implique également différents frais généraux. Nous expliquons ici les compromis entre ces différents niveaux.

Multi-tenance orientée base de données

Depuis la version 2.2.9 de Milvus, vous pouvez créer plusieurs bases de données dans un seul cluster Milvus. Cette fonctionnalité permet d'obtenir une multi-location orientée base de données en attribuant une base de données à chaque locataire, de sorte qu'ils puissent créer leurs propres collections. Cette approche offre la meilleure isolation des données et des ressources pour les locataires, mais elle est limitée à 64 bases de données au maximum dans un cluster.

Multi-tenance orientée collection

Il existe deux façons d'obtenir une multi-location orientée collection.

Une collection pour tous les locataires

L'utilisation d'une collection unique pour mettre en œuvre la multi-location en ajoutant un champ de locataire pour distinguer les locataires est une option simple. Lorsque vous effectuez des recherches ANN pour un locataire spécifique, ajoutez une expression de filtrage pour éliminer toutes les entités qui appartiennent à d'autres locataires. Il s'agit de la méthode la plus simple pour parvenir à la multi-location. Toutefois, sachez que les performances du filtre peuvent devenir le goulot d'étranglement des recherches ANN. Pour améliorer les performances de recherche, vous pouvez optimiser la multi-location orientée partition ci-dessous.

Une collection par locataire

Une autre approche consiste à créer une collection pour chaque locataire afin de stocker ses propres données, au lieu de stocker les données de tous les locataires dans une seule collection. Cela permet de mieux isoler les données et d'améliorer les performances des requêtes. Cependant, il faut garder à l'esprit que cette approche nécessite plus de ressources pour la planification et qu'elle est limitée à 10 000 collections au maximum dans une grappe.

Multi-tenance orientée partition

Il existe deux façons d'obtenir une multi-location orientée partition :

Une partition par locataire

La gestion d'une seule collection est beaucoup plus facile que la gestion de plusieurs collections. Au lieu de créer plusieurs collections, envisagez d'attribuer une partition à chaque locataire afin d'obtenir une isolation des données et une gestion de la mémoire flexibles. Les performances de recherche de la multi-location orientée partition sont bien meilleures que celles de la multi-location orientée collection. Il convient toutefois de noter que le nombre de locataires de la collection ne doit pas dépasser le nombre maximal de partitions qu'une collection peut contenir.

Multi-location basée sur les clés de partition

Milvus 2.2.9 introduit une nouvelle fonctionnalité appelée clé de partition. Lors de la création d'une collection, nommez un champ de locataire et faites-en le champ de clé de partition. Milvus stocke les entités dans une partition en fonction de la valeur de hachage du champ de clé de partition. Lorsqu'il effectue des recherches ANN, Milvus ne recherche que la partition qui contient la clé de partition. Cela réduit considérablement la portée de la recherche et permet d'obtenir de meilleures performances qu'en l'absence de clé de partition.

Cette stratégie lève la limite du nombre maximum de locataires qu'une collection Milvus peut prendre en charge et simplifie considérablement la gestion des ressources car Milvus gère automatiquement les partitions pour vous.

Pour récapituler, vous pouvez utiliser l'une ou l'autre des stratégies multi-locataires ci-dessus, ou certaines d'entre elles, pour former votre propre solution. Le tableau suivant établit des comparaisons entre ces stratégies en termes d'isolation des données, de performances de recherche et de nombre maximum de locataires.

Isolation des donnéesPerformances de rechercheNombre maximal de locatairesScénarios recommandés
Orienté base de donnéesForteForte64Pour ceux qui ont besoin que les collections varient en fonction des projets, particulièrement adapté à l'isolation des données entre les départements de votre organisation.
Une seule collection pour tousFaibleMoyenneSANS OBJETPour ceux qui ont des ressources limitées et qui ne sont pas sensibles à l'isolation des données.
Une collection par locataireForteFortMoins de 10 000Pour ceux qui ont moins de 10 000 locataires par cluster.
Une partition par locataireMoyenneFort4,096Pour ceux qui ont moins de 4 096 locataires par collection.
Basé sur une clé de partitionMoyenneFort10,000,000+Pour ceux qui prévoient une augmentation rapide du nombre de locataires à plusieurs millions.

Prochaine étape

Gérer leschéma desbases de données

Traduit parDeepL

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 ?