Criando Partições
Este tópico descreve como criar partições no Milvus.
O Milvus permite que a maioria dos dados vetoriais seja dividida em um pequeno número de partições. Isso possibilita restringir a pesquisa e outras operações a uma única partição, melhorando o desempenho.
Uma coleção consiste em uma ou mais partições. Ao criar uma nova coleção, o Milvus criará uma partição padrão, _default
. Para obter mais informações, consulte o Glossário - Partição.
O exemplo a seguir cria uma partição chamada novel
na coleção book
.
err := milvusClient.CreatePartition(
context.Background(), // ctx
"book", // NomeColeção
"novel" // NomePartição
)
if err != nil {
log.Fatal("Falha ao criar a partição: ", err.Error())
}
Parâmetro | Descrição |
---|---|
ctx |
Contexto para controlar o processo de chamada da API. |
NomeColeção |
Nome da coleção na qual criar uma partição. |
NomePartição |
Nome da partição a ser criada. |
Limites
Recurso | Limite Máximo |
---|---|
Número de partições em uma única coleção | 4.096 |
Verificar a Existência de uma Partição
Verificar se uma partição especificada existe em uma coleção.
hasPar, err := milvusClient.HasPartition(
context.Background(), // ctx
"book", // NomeColeção
"novel", // NomePartição
)
if err != nil {
log.Fatal("Falha ao verificar a partição: ", err.Error())
}
log.Println(hasPar)
Listar Todas as Partições
listPar, err := milvusClient.ShowPartitions(
context.Background(), // ctx
"book", // NomeColeção
)
if err != nil {
log.Fatal("Falha ao listar as partições: ", err.Error())
}
log.Println(listPar)
Excluir uma Partição
err := milvusClient.DropPartition(
context.Background(), // ctx
"book", // NomeColeção
"novel", // NomePartição
)
if err != nil {
log.Fatal("Falha ao excluir a partição: ", err.Error())
}
Carregar uma Partição
O Milvus permite aos usuários carregar partições como réplicas múltiplas para aproveitar os recursos de CPU e memória de nós de consulta adicionais, melhorando o QPS e throughput geral.
err := milvusClient.LoadPartitions(
context.Background(), // ctx
"book", // NomeColeção
[]string{"novel"}, // NomesPartições
false // async
)
if err != nil {
log.Fatal("Falha ao carregar as partições: ", err.Error())
}
Liberar uma Partição
err := milvusClient.ReleasePartitions(
context.Background(), // ctx
"book", // NomeColeção
[]string{"novel"} // NomesPartições
)
if err != nil {
log.Fatal("Falha ao liberar as partições: ", err.Error())
}