Limitare il numero di raccolte
Un'istanza Milvus consente fino a 65.536 raccolte. Tuttavia, un numero eccessivo di raccolte può causare problemi di prestazioni. Pertanto, si consiglia di limitare il numero di raccolte create in un'istanza Milvus.
Questa guida fornisce istruzioni su come impostare i limiti al numero di raccolte in un'istanza Milvus.
La configurazione varia a seconda del modo in cui si installa l'istanza Milvus.
Per le istanze Milvus installate utilizzando Helm Charts
Aggiungere la configurazione al file
values.yaml
nella sezioneconfig
. Per i dettagli, consultare Configurazione di Milvus con Helm Charts.Per le istanze Milvus installate usando Docker Compose
Aggiungere la configurazione al file
milvus.yaml
utilizzato per avviare l'istanza Milvus. Per i dettagli, fate riferimento a Configurare Milvus con Docker Compose.Per le istanze Milvus installate con Operator
Aggiungere la configurazione alla sezione
spec.components
della risorsa personalizzataMilvus
. Per i dettagli, vedere Configurazione di Milvus con Operator.
Opzioni di configurazione
rootCoord:
maxGeneralCapacity: 65536
Il parametro maxGeneralCapacity
imposta il numero massimo di collezioni che l'istanza Milvus corrente può contenere. Il valore predefinito è 65536
.
Calcolo del numero di collezioni
In una raccolta è possibile impostare più shard e partizioni. Gli shard sono unità logiche utilizzate per distribuire le operazioni di scrittura dei dati tra più nodi di dati. Le partizioni sono unità logiche utilizzate per migliorare l'efficienza del recupero dei dati caricando solo un sottoinsieme dei dati della raccolta. Quando si calcola il numero di raccolte nell'istanza Milvus corrente, è necessario contare anche gli shard e le partizioni.
Ad esempio, supponiamo di aver già creato 100 raccolte, con 2 shard e 4 partizioni in 60 di esse e con 1 shard e 12 partizioni nelle altre 40 raccolte. Il numero attuale di raccolte può essere calcolato come:
60 (collections) x 2 (shards) x 4 (partitions) + 40 (collections) x 1 (shard) x 12 (partitions) = 960
Nell'esempio precedente, sono già stati utilizzati 960 dei limiti predefiniti. Ora, se si vuole creare una nuova raccolta con 4 shard e 20 partizioni, si riceverà il seguente messaggio di errore perché il numero totale di raccolte supera la capacità massima:
failed checking constraint: sum_collections(parition*shard) exceeding the max general capacity:
Per evitare questo errore, è possibile ridurre il numero di frammenti o partizioni nelle raccolte esistenti o nuove, eliminare alcune raccolte o aumentare il valore maxGeneralCapacity
.