Création de partitions
Ce sujet décrit comment créer des partitions dans Milvus.
Milvus permet de diviser la majorité des données vectorielles en un petit nombre de partitions. Cela permet de restreindre la recherche et d'autres opérations à l'intérieur d'une seule partition, améliorant ainsi les performances.
Une collection est composée d'une ou plusieurs partitions. Lors de la création d'une nouvelle collection, Milvus créera une partition par défaut, _default
. Pour plus d'informations, consultez le glossaire - Partition.
L'exemple suivant crée une partition nommée novel
dans la collection book
.
err := milvusClient.CreatePartition(
contexte.Background(), // ctx
"book", // CollectionName
"novel" // partitionName
)
if err != nil {
log.Fatal("Échec de la création de la partition: ", err.Error())
}
Paramètre | Description |
---|---|
ctx |
Contexte permettant de contrôler le processus d'appel à l'API. |
CollectionName |
Nom de la collection dans laquelle créer une partition. |
partitionName |
Nom de la partition à créer. |
Limites
Fonctionnalité | Limite maximale |
---|---|
Nombre de partitions dans une seule collection | 4 096 |
Vérification de l'existence d'une partition
Vérifiez si une partition spécifiée existe dans une collection.
hasPar, err := milvusClient.HasPartition(
contexte.Background(), // ctx
"book", // CollectionName
"novel", // partitionName
)
if err != nil {
log.Fatal("Échec de vérification de la partition : ", err.Error())
}
log.Println(hasPar)
Liste de toutes les partitions
listPar, err := milvusClient.ShowPartitions(
contexte.Background(), // ctx
"book", // CollectionName
)
if err != nil {
log.Fatal("Échec de la liste des partitions : ", err.Error())
}
log.Println(listPar)
Suppression d'une partition
err := milvusClient.DropPartition(
contexte.Background(), // ctx
"book", // CollectionName
"novel", // partitionName
)
if err != nil {
log.Fatal("Échec de la suppression de la partition : ", err.Error())
}
Chargement d'une partition
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, améliorant ainsi le débit global et le nombre de requêtes par seconde (QPS).
err := milvusClient.LoadPartitions(
contexte.Background(), // ctx
"book", // CollectionName
[]string{"novel"}, // partitionNames
false // asynchrone
)
if err != nil {
log.Fatal("Échec du chargement des partitions : ", err.Error())
}
Libération d'une partition
err := milvusClient.ReleasePartitions(
contexte.Background(), // ctx
"book", // CollectionName
[]string{"novel"} // partitionNames
)
if err != nil {
log.Fatal("Échec de la libération des partitions : ", err.Error())
}