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()