Mise en œuvre de la multi-location
Dans Milvus, la multi-location signifie que plusieurs clients ou équipes (appelés locataires)partagent le même cluster tout en conservant des environnements de données isolés.
Milvus prend en charge quatre stratégies de multi-location, chacune offrant un compromis différent entre l'évolutivité, l'isolation des données et la flexibilité. Ce guide vous présente chaque option et vous aide à choisir la stratégie la plus adaptée à votre cas d'utilisation.
Stratégies multi-tenant
Milvus prend en charge le multi-tenant à quatre niveaux : Base de données, Collection, Partition et Clé de partition.
Multi-tenance au niveau de la base de données
Avec la location multiple au niveau de la base de données, chaque locataire reçoit une base de données correspondante contenant une ou plusieurs collections.
Multi-tenance au niveau de la base de données
Évolutivité: La stratégie de multi-location au niveau de la base de données prend en charge un maximum de 64 locataires par défaut.
Isolation des données: Les données de chaque base sont entièrement séparées, offrant une isolation des données de niveau entreprise, idéale pour les environnements réglementés ou les clients ayant des besoins de conformité stricts.
Flexibilité: Chaque base de données peut avoir des collections avec des schémas différents, offrant une organisation des données très flexible et permettant à chaque locataire d'avoir son propre schéma de données.
Autres: Cette stratégie prend également en charge le RBAC, ce qui permet de contrôler finement l'accès des utilisateurs par locataire. En outre, vous pouvez charger ou libérer des données de manière flexible pour des locataires spécifiques afin de gérer efficacement les données chaudes et froides.
Multi-tenance au niveau de la collection
Avec la multi-location au niveau de la collection, chaque locataire se voit attribuer une collection, ce qui permet d'isoler fortement les données.
Multi-tenance au niveau de la collection
Évolutivité: Étant donné qu'un cluster peut contenir jusqu'à 65 536 collections par défaut, cette stratégie peut s'adapter au même nombre de locataires au sein du cluster.
Isolation des données: Les collections sont physiquement isolées les unes des autres. Cette stratégie assure une forte isolation des données.
Flexibilité: Cette stratégie permet à chaque collection d'avoir son propre schéma, ce qui permet d'accueillir des locataires ayant des schémas de données différents.
Autres: Cette stratégie prend également en charge le RBAC, ce qui permet un contrôle d'accès granulaire sur les locataires. En outre, vous pouvez charger ou libérer des données de manière flexible pour des locataires spécifiques afin de gérer efficacement les données chaudes et froides.
Multi-tenance au niveau des partitions
Dans la multi-location au niveau des partitions, chaque locataire est assigné à une partition créée manuellement au sein d'une collection partagée.
Multi-locations au niveau des partitions
Évolutivité: Une collection peut contenir jusqu'à 1 024 partitions par collection, ce qui permet d'avoir le même nombre de locataires.
Isolation des données: Les données de chaque locataire sont physiquement séparées par des partitions.
Flexibilité: Cette stratégie exige que tous les locataires partagent le même schéma de données. De plus, les partitions doivent être créées manuellement.
Autres: Le RBAC n'est pas pris en charge au niveau des partitions. Les locataires peuvent être interrogés individuellement ou à travers plusieurs partitions, ce qui rend cette approche bien adaptée aux scénarios impliquant des requêtes agrégées ou des analyses à travers des segments de locataires. En outre, vous pouvez charger ou libérer des données de manière flexible pour des locataires spécifiques afin de gérer efficacement les données chaudes et froides.
Multi-location au niveau de la clé de partition
Avec cette stratégie, tous les locataires partagent une collection et un schéma uniques, mais les données de chaque locataire sont automatiquement acheminées vers 16 partitions physiquement isolées en fonction de la valeur de la clé de partition. Bien que chaque partition physique puisse contenir plusieurs locataires, les données des différents locataires restent logiquement séparées.
Niveau de la clé de partition Multi-locataires
Évolutivité: La stratégie au niveau de la clé de partition offre l'approche la plus évolutive, prenant en charge des millions de locataires.
Isolation des données: Cette stratégie offre une isolation des données relativement faible car plusieurs locataires peuvent partager une partition physique.
Flexibilité: Étant donné que tous les locataires doivent partager le même schéma de données, cette stratégie offre une flexibilité limitée en matière de données.
Autres: Le RBAC n'est pas pris en charge au niveau de la clé de partition. Les locataires peuvent être interrogés individuellement ou à travers plusieurs partitions, ce qui rend cette approche bien adaptée aux scénarios impliquant des requêtes agrégées ou des analyses à travers des segments de locataires.
Choisir la bonne stratégie de multi-location
Le tableau ci-dessous propose une comparaison complète entre les quatre niveaux de stratégies de multi-location.
Niveau base de données |
Niveau collection |
Niveau partition |
Niveau de la clé de partition |
|
|---|---|---|---|---|
Isolation des données |
Physique |
Physique |
Physique |
Physique + logique |
Nombre maximal de locataires |
Par défaut, 64. Vous pouvez l'augmenter en modifiant le paramètre |
Par défaut, 65 536. Vous pouvez l'augmenter en modifiant le paramètre |
Jusqu'à 1 024 par collection. |
Millions |
Flexibilité du schéma de données |
Élevée |
Moyenne |
Faible |
Faible |
Prise en charge RBAC |
Oui |
Oui |
Non |
Non |
Performances de recherche |
Forte |
Forte |
Moyenne |
Moyenne |
Prise en charge de la recherche inter-locataires |
Non |
Non |
Oui |
Oui |
Prise en charge du traitement efficace des données chaudes et froides |
Oui |
Oui |
Oui |
Non Actuellement, la stratégie au niveau des clés de partition n'est pas prise en charge. |
Plusieurs facteurs doivent être pris en compte lors du choix de la stratégie de multi-location dans Milvus.
Évolutivité : Clé de partition > Partition > Collection > Base de données
Si vous prévoyez de prendre en charge un très grand nombre de locataires (des millions ou plus), utilisez la stratégie au niveau de la clé de partition.
Exigences élevées en matière d'isolation des données: Base de données = Collection > Partition > Clé de partition
Choisissez les stratégies au niveau de la base de données, de la collection ou de la partition si vous avez des exigences strictes en matière d'isolation physique des données.
Schéma de données flexible pour les données de chaque locataire : Base de données > Collection > Partition = Clé de partition
Les stratégies au niveau de la base de données et de la collection offrent une flexibilité totale en matière de schémas de données. Si les structures de données de vos locataires sont différentes, choisissez la multi-location au niveau de la base de données ou de la collection.
Autres
Performances : Les performances de recherche sont déterminées par divers facteurs, notamment les index, les paramètres de recherche et les configurations des machines. Milvus prend également en charge le réglage des performances. Il est recommandé de tester les performances réelles avant de choisir une stratégie de multi-location.
Traitement efficace des données chaudes et froides: Actuellement, les stratégies au niveau de la base de données, de la collection et de la partition prennent toutes en charge la gestion des données chaudes et froides.
Recherches inter-locataires: Seules les stratégies au niveau de la partition et de la clé de partition prennent en charge les requêtes inter-locataires.