Creación de particiones
Milvus te permite particionar datos vectoriales en varias particiones. Las búsquedas y otras operaciones pueden estar limitadas a una sola partición para mejorar 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
.
El siguiente ejemplo establece una partición llamada novel
en la colección book
.
from pymilvus import Collection
colección = Collection("book") # Obtener una colección existente
colección.create_partition("novela")
Parámetro | Descripción |
---|---|
nombre_partición |
El nombre de la partición a crear. |
descripción (opcional) |
Descripción de la partición a crear. |
Limitaciones
Característica | Límite máximo |
---|---|
Número de particiones en una colección | 4,096 |
Verificación de la existencia de una partición
Verificar si una partición específica existe en la colección especificada.
from pymilvus import Collection
colección = Collection("book") # Obtener una colección existente
colección.has_partition("novela")
Listado de todas las particiones
from pymilvus import Collection
colección = Collection("book") # Obtener una colección existente
colección.particiones
Eliminación de una partición
from pymilvus import Collection
colección.drop_partition("novela")
Carga de una partición
Cargar una partición en memoria en lugar de cargar toda la colección puede reducir significativamente el uso de memoria. Todas las operaciones de búsqueda y consulta en Milvus se ejecutan en memoria.
A partir de la versión 2.3.0, Milvus ha mejorado sus operaciones de partición y soporta operaciones de carga y liberación en cascada. Esto significa que puedes realizar cualquier combinación de las siguientes operaciones:
- Cargar una colección cargada.
- Cargar una colección, luego cargar particiones específicas en la colección.
- Cargar una partición, luego cargar la colección a la que pertenece la partición.
- Cargar una partición y volver a cargarla antes de liberarla.
Milvus permite a los usuarios cargar particiones como réplicas múltiples para aprovechar los recursos de CPU y memoria de nodos de consulta adicionales. Esta función es compatible con la versión actual a través de PyMilvus.
from pymilvus import Collection
colección = Collection("book") # Obtener una colección existente
colección.load(["novela"], número_replicas=2)
from pymilvus import Partition
partición = Partition("novela") # Obtener una partición existente
partición.load(número_replicas=2)
Obtención de información sobre réplicas
Puedes ver información sobre las réplicas cargadas.
from pymilvus import Partition
partición = Partition("novel") # Obtener una partición existente
partición.load(número_replicas=2) # Cargar la partición con 2 réplicas
resultado = particion.get_replicas()
print(resultado)
Liberación de una partición
Cómo liberar una partición de la memoria después de una búsqueda o consulta para reducir el uso de memoria.
A partir de la versión 2.3.0, Milvus ha mejorado sus operaciones de partición y soporta operaciones de carga y liberación en cascada. Esto significa que puedes realizar cualquier combinación de las siguientes operaciones:
- Liberar una colección cargada.
- Liberar particiones específicas en una colección cargada.
- Liberar una partición cargada.
- Liberar particiones cargadas parcialmente en una colección.
from pymilvus import Partition
partición = Partition("novela") # Obtener una partición existente
partición.release()