Création de partitions
Milvus vous permet de partitionner des données vectorielles en quelques partitions. Les recherches et autres opérations peuvent être limitées à une seule partition pour améliorer les performances.
Une collection se compose d'une ou plusieurs partitions. Lors de la création d'une nouvelle collection, Milvus créera une partition par défaut _default
.
L'exemple suivant établit une partition nommée novel
dans la collection book
.
from pymilvus import Collection
collection = Collection("book") # Obtenir une collection existante
collection.create_partition("novel")
Paramètre | Description |
---|---|
partition_name |
Le nom de la partition à créer. |
description (optionnel) |
Description de la partition à créer. |
Limites
Fonctionnalité | Limite maximale |
---|---|
Nombre de partitions dans une collection | 4 096 |
Vérifier l'existence d'une partition
Vérifier si une partition spécifique existe dans la collection spécifiée.
from pymilvus import Collection
collection = Collection("book") # Obtenir une collection existante
collection.has_partition("novel")
Liste de toutes les partitions
from pymilvus import Collection
collection = Collection("book") # Obtenir une collection existante
collection.partitions
Suppression d'une partition
from pymilvus import Collection
collection.drop_partition("novel")
Chargement d'une partition
Charger une partition en mémoire au lieu de charger l'ensemble de la collection peut réduire considérablement l'utilisation de la mémoire. Toutes les opérations de recherche et de requête dans Milvus sont exécutées en mémoire.
À partir de la version 2.3.0, Milvus a amélioré ses opérations de partition et prend en charge le chargement et la libération en cascades. Cela signifie que vous pouvez effectuer n'importe quelle combinaison des opérations suivantes :
- Charger une collection déjà chargée.
- Charger une collection, puis charger des partition(s) spécifique(s) dans la collection.
- Charger une partition, puis charger la collection à laquelle la partition appartient.
- Charger une partition et la recharger avant de la libérer.
Milvus permet aux utilisateurs de charger des partitions en tant que répliques multiples pour tirer parti des ressources CPU et mémoire des nœuds de requête supplémentaires. Cette fonctionnalité est prise en charge dans la version actuelle à travers PyMilvus.
from pymilvus import Collection
collection = Collection("book") # Obtenir une collection existante
collection.load(["novel"], replica_number=2)
from pymilvus import Partition
partition = Partition("novel") # Obtenir une partition existante
partition.load(replica_number=2)
Obtenir des informations sur les répliques
Vous pouvez afficher des informations sur les répliques chargées.
from pymilvus import Partition
partition = Partition("novel") # Obtenir une partition existante
partition.load(replica_number=2) # Charger la partition avec 2 répliques
result = partition.get_replicas()
print(result)
Libération d'une partition
Comment libérer une partition de la mémoire après une recherche ou une requête pour réduire l'utilisation de la mémoire.
À partir de la version 2.3.0, Milvus a amélioré ses opérations de partition et prend en charge le chargement et la libération en cascades. Cela signifie que vous pouvez effectuer n'importe quelle combinaison des opérations suivantes :
- Libérer une collection déjà chargée.
- Libérer des partition(s) spécifique(s) dans une collection chargée.
- Libérer une partition chargée.
- Libérer des partitions partiellement chargées dans une collection.
from pymilvus import Partition
partition = Partition("novel") # Obtenir une partition existante
partition.release()