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