Creación de particiones
Este tema describe cómo crear particiones en Milvus.
Milvus permite dividir la mayoría de los datos vectoriales en un pequeño número de particiones. Esto permite restringir la búsqueda y otras operaciones a una sola partición, mejorando el rendimiento.
Una colección consta de una o más particiones. Al crear una nueva colección, Milvus creará una partición predeterminada, _default
. Para obtener más información, consulte el Glosario - Partición.
El siguiente ejemplo crea una partición llamada novel
en la colección book
.
err := milvusClient.CreatePartition(
context.Background(), // ctx
"book", // CollectionName
"novel" // partitionName
)
if err != nil {
log.Fatal("Error al crear la partición: ", err.Error())
}
Parámetro | Descripción |
---|---|
ctx |
Contexto para controlar el proceso de llamada a la API. |
CollectionName |
Nombre de la colección en la que se creará la partición. |
partitionName |
Nombre de la partición que se va a crear. |
Límites
Función | Límite Máximo |
---|---|
Número de particiones en una sola colección | 4,096 |
Verificación de la existencia de una partición
Verifique si una partición especificada existe en una colección.
hasPar, err := milvusClient.HasPartition(
context.Background(), // ctx
"book", // CollectionName
"novel", // partitionName
)
if err != nil {
log.Fatal("Error al verificar la partición: ", err.Error())
}
log.Println(hasPar)
Listado de todas las particiones
listPar, err := milvusClient.ShowPartitions(
context.Background(), // ctx
"book", // CollectionName
)
if err != nil {
log.Fatal("Error al listar las particiones: ", err.Error())
}
log.Println(listPar)
Eliminación de una partición
err := milvusClient.DropPartition(
context.Background(), // ctx
"book", // CollectionName
"novel", // partitionName
)
if err != nil {
log.Fatal("Error al eliminar la partición: ", err.Error())
}
Carga de una partición
Milvus permite cargar particiones como réplicas múltiples para aprovechar los recursos de CPU y memoria de nodos de consulta adicionales, mejorando el QPS general y el rendimiento.
err := milvusClient.LoadPartitions(
context.Background(), // ctx
"book", // CollectionName
[]string{"novel"}, // partitionNames
false // asíncrono
)
if err != nil {
log.Fatal("Error al cargar las particiones: ", err.Error())
}
Liberación de una partición
err := milvusClient.ReleasePartitions(
context.Background(), // ctx
"book", // CollectionName
[]string{"novel"} // partitionNames
)
if err != nil {
log.Fatal("Error al liberar las particiones: ", err.Error())
}