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.yamlnella 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.yamlutilizzato 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.componentsdella 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 totale di unità di raccolta (calcolato come shards × partitions) può essere determinato come segue:
60 (collections) x 2 (shards) x 4 (partitions) + 40 (collections) x 1 (shard) x 12 (partitions) = 960
In questo esempio, il totale calcolato di 960 unità di raccolta rappresenta l'utilizzo attuale. Il parametro maxGeneralCapacity definisce il numero massimo di unità di raccolta che un'istanza può supportare, che per impostazione predefinita è 65536. Ciò significa che l'istanza può ospitare fino a 65.536 unità di raccolta. Se il numero totale supera questo limite, il sistema visualizza il seguente messaggio di errore:
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.