Criando partições

O Milvus permite que você divida os dados vetoriais em várias partições. As pesquisas e outras operações podem ser restritas a uma única partição para aprimorar o desempenho.

Uma coleção é composta por uma ou mais partições. Ao criar uma nova coleção, o Milvus criará uma partição padrão chamada _default.

O exemplo a seguir estabelece uma partição chamada novel na coleção book.

from pymilvus import Collection
colecao = Collection("book")      # Obter uma coleção existente
colecao.create_partition("novel")
Parâmetro Descrição
nome_particao O nome da partição a ser criada.
descricao (opcional) Descrição da partição a ser criada.

Limitações

Recurso Limite Máximo
Número de partições em uma coleção 4.096

Verificando a existência de uma partição

Verifique se uma partição específica existe na coleção especificada.

from pymilvus import Collection
colecao = Collection("book")      # Obter uma coleção existente
colecao.has_partition("novel")

Listando todas as partições

from pymilvus import Collection
colecao = Collection("book")      # Obter uma coleção existente
colecao.partitions

Excluindo uma partição

from pymilvus import Collection
colecao.drop_partition("novel")

Carregando uma partição

Carregar uma partição na memória, em vez de carregar a coleção inteira, pode reduzir significativamente o uso da memória. Todas as operações de busca e consulta no Milvus são executadas na memória.

A partir da versão 2.3.0, o Milvus aprimorou suas operações de partição e suporta operações de carregamento e liberação em cascata. Isso significa que você pode realizar qualquer combinação das seguintes operações:

  • Carregar uma coleção já carregada.
  • Carregar uma coleção e, em seguida, carregar partições específicas na coleção.
  • Carregar uma partição e, em seguida, carregar a coleção à qual a partição pertence.
  • Carregar uma partição e recarregá-la antes de liberá-la.

O Milvus permite que os usuários carreguem partições como réplicas múltiplas para alavancar os recursos de CPU e memória de nós de consulta adicionais. Essse recurso é compatível com a versão atual por meio do PyMilvus.

from pymilvus import Collection
colecao = Collection("book")      # Obter uma coleção existente
colecao.load(["novel"], replica_number=2)

from pymilvus import Partition
particao = Partition("novel")       # Obter uma partição existente
particao.load(replica_number=2)

Obtendo informações da réplica

Você pode visualizar informações sobre as réplicas carregadas.

from pymilvus import Partition
particao = Partition("novel")       # Obter uma partição existente
particao.load(replica_number=2)     # Carregar a partição com 2 réplicas
resultado = particao.get_replicas()
print(resultado)

Liberando uma partição

Como liberar uma partição da memória após uma busca ou consulta para reduzir o uso da memória.

A partir da versão 2.3.0, o Milvus aprimorou suas operações de partição e suporta operações de carregamento e liberação em cascata. Isso significa que você pode realizar qualquer combinação das seguintes operações:

  • Liberar uma coleção carregada.
  • Liberar partições específicas em uma coleção carregada.
  • Liberar uma partição carregada.
  • Liberar partições parcialmente carregadas em uma coleção.
from pymilvus import Partition
particao = Partition("novel")       # Obter uma partição existente
particao.release()