Creazione delle Partizioni
Questo argomento descrive come creare partizioni in Milvus.
Milvus consente che la maggior parte dei dati vettoriali sia divisa in un numero limitato di partizioni. Ciò consente di limitare la ricerca e altre operazioni all'interno di una singola partizione, migliorandone le prestazioni.
Una collezione è composta da una o più partizioni. Quando si crea una nuova collezione, Milvus creerà una partizione predefinita, _default
. Per ulteriori informazioni, fare riferimento al Glossario - Partizione.
Nell'esempio seguente viene creata una partizione chiamata novel
nella collezione book
.
err := milvusClient.CreatePartition(
context.Background(), // ctx
"book", // NomeCollezione
"novel" // NomePartizione
)
if err != nil {
log.Fatal("Impossibile creare la partizione: ", err.Error())
}
Parametro | Descrizione |
---|---|
ctx |
Contesto per controllare il processo di chiamata API. |
NomeCollezione |
Nome della collezione in cui creare una partizione. |
NomePartizione |
Nome della partizione da creare. |
Limiti
Funzionalità | Limite Massimo |
---|---|
Numero di partizioni in una singola collezione | 4,096 |
Verifica dell'Esistenza di una Partizione
Verifica se una specifica partizione esiste in una collezione.
hasPar, err := milvusClient.HasPartition(
context.Background(), // ctx
"book", // NomeCollezione
"novel", // NomePartizione
)
if err != nil {
log.Fatal("Impossibile controllare la partizione: ", err.Error())
}
log.Println(hasPar)
Elenco di Tutte le Partizioni
listPar, err := milvusClient.ShowPartitions(
context.Background(), // ctx
"book", // NomeCollezione
)
if err != nil {
log.Fatal("Impossibile elencare le partizioni: ", err.Error())
}
log.Println(listPar)
Eliminazione di una Partizione
err := milvusClient.DropPartition(
context.Background(), // ctx
"book", // NomeCollezione
"novel", // NomePartizione
)
if err != nil {
log.Fatal("Impossibile eliminare la partizione: ", err.Error())
}
Caricamento di una Partizione
Milvus consente agli utenti di caricare partizioni come repliche multiple per sfruttare le risorse CPU e di memoria dei nodi di interrogazione aggiuntivi, migliorando il QPS complessivo e il throughput.
err := milvusClient.LoadPartitions(
context.Background(), // ctx
"book", // NomeCollezione
[]string{"novel"}, // NomPartizioni
false // asincrono
)
if err != nil {
log.Fatal("Impossibile caricare le partizioni: ", err.Error())
}
Rilascio di una Partizione
err := milvusClient.ReleasePartitions(
context.Background(), // ctx
"book", // NomeCollezione
[]string{"novel"} // NomPartizioni
)
if err != nil {
log.Fatal("Impossibile rilasciare le partizioni: ", err.Error())
}