Limitar o número de colecções
Uma instância Milvus permite até 65.536 colecções. No entanto, um número excessivo de colecções pode resultar em problemas de desempenho. Por isso, recomenda-se limitar o número de colecções criadas numa instância do Milvus.
Este guia fornece instruções sobre como definir limites para o número de colecções numa instância do Milvus.
A configuração varia consoante a forma como instala a instância do Milvus.
Para instâncias do Milvus instaladas usando Helm Charts
Adicione a configuração ao ficheiro
values.yaml
na secçãoconfig
. Para obter detalhes, consulte Configurar o Milvus com Helm Charts.Para instâncias do Milvus instaladas usando o Docker Compose
Adicione a configuração ao ficheiro
milvus.yaml
que utilizou para iniciar a instância do Milvus. Para obter detalhes, consulte Configurar o Milvus com o Docker Compose.Para instâncias do Milvus instaladas com o Operator
Adicione a configuração à secção
spec.components
do recurso personalizadoMilvus
. Para obter detalhes, consulte Configurar o Milvus com o Operator.
Opções de configuração
rootCoord:
maxGeneralCapacity: 65536
O parâmetro maxGeneralCapacity
define o número máximo de coleções que a instância atual do Milvus pode conter. O valor predefinido é 65536
.
Cálculo do número de colecções
Numa coleção, é possível configurar vários shards e partições. Os fragmentos são unidades lógicas utilizadas para distribuir operações de escrita de dados entre vários nós de dados. As partições são unidades lógicas utilizadas para melhorar a eficiência da recuperação de dados, carregando apenas um subconjunto dos dados da coleção. Ao calcular o número de colecções na instância atual do Milvus, também é necessário contar os shards e as partições.
Por exemplo, vamos supor que já criou 100 colecções, com 2 fragmentos e 4 partições em 60 delas e com 1 fragmento e 12 partições nas restantes 40 colecções. O número atual de colecções pode ser calculado da seguinte forma:
60 (collections) x 2 (shards) x 4 (partitions) + 40 (collections) x 1 (shard) x 12 (partitions) = 960
No exemplo acima, já utilizou 960 dos limites predefinidos. Agora, se pretender criar uma nova coleção com 4 fragmentos e 20 partições, receberá a seguinte mensagem de erro porque o número total de colecções excede a capacidade máxima:
failed checking constraint: sum_collections(parition*shard) exceeding the max general capacity:
Para evitar este erro, pode reduzir o número de fragmentos ou partições nas colecções novas ou existentes, eliminar algumas colecções ou aumentar o valor maxGeneralCapacity
.