Begrenzung der Anzahl der Sammlungen

Eine Milvus-Instanz erlaubt bis zu 65.536 Sammlungen. Zu viele Sammlungen können jedoch zu Leistungsproblemen führen. Daher ist es empfehlenswert, die Anzahl der in einer Milvus-Instanz erstellten Sammlungen zu begrenzen.

Dieser Leitfaden enthält Anweisungen, wie Sie die Anzahl der Sammlungen in einer Milvus-Instanz begrenzen können.

Die Konfiguration hängt von der Art und Weise ab, wie Sie die Milvus-Instanz installieren.

  • Für Milvus-Instanzen, die mit Helm Charts installiert wurden

    Fügen Sie die Konfiguration in die Datei values.yaml unter dem Abschnitt config ein. Einzelheiten finden Sie unter Konfigurieren von Milvus mit Helm Charts.

  • Für Milvus-Instanzen, die mit Docker Compose installiert wurden

    Fügen Sie die Konfiguration in die Datei milvus.yaml ein, die Sie zum Starten der Milvus-Instanz verwendet haben. Einzelheiten finden Sie unter Konfigurieren von Milvus mit Docker Compose.

  • Für Milvus-Instanzen, die mit Operator installiert wurden

    Fügen Sie die Konfiguration in den Abschnitt spec.components der benutzerdefinierten Ressource Milvus ein. Weitere Informationen finden Sie unter Konfigurieren von Milvus mit Operator.

Konfigurationsoptionen

rootCoord:
    maxGeneralCapacity: 65536

quotaAndLimits:
    limits:
        maxCollectionNum: 65536
        maxCollectionNumPerDB: 65536

Um die Sammelgrenze zu ändern, müssen Sie alle drei Parameter zusammen ändern:

ParameterBeschreibungStandardwert
rootCoord.maxGeneralCapacityMaximale Anzahl von Sammeleinheiten (Shards × Partitionen), die die aktuelle Instanz enthalten kann.65536
quotaAndLimits.limits.maxCollectionNumMaximale Anzahl von Sammlungen, die für alle Datenbanken der aktuellen Instanz zulässig sind.65536
quotaAndLimits.limits.maxCollectionNumPerDBMaximal zulässige Anzahl von Sammlungen in einer einzelnen Datenbank.65536

Beispiel: Anhebung des Limits auf 200.000 Sammlungen:

rootCoord:
    maxGeneralCapacity: 200000

quotaAndLimits:
    limits:
        maxCollectionNum: 200000
        maxCollectionNumPerDB: 200000

Wenn Sie nur maxGeneralCapacity einstellen, ohne auch maxCollectionNum und maxCollectionNumPerDB zu ändern, wird dies nicht wirksam. Alle drei Parameter müssen auf denselben oder einen höheren Wert eingestellt werden, um die Sammlungsgrenze zu erhöhen.

Berechnen der Anzahl der Sammlungen

In einer Sammlung können Sie mehrere Shards und Partitionen einrichten. Shards sind logische Einheiten, die dazu dienen, Datenschreiboperationen auf mehrere Datenknoten zu verteilen. Partitionen sind logische Einheiten, die dazu dienen, die Effizienz der Datenabfrage zu verbessern, indem nur eine Teilmenge der Sammlungsdaten geladen wird. Wenn Sie die Anzahl der Sammlungen in der aktuellen Milvus-Instanz berechnen, müssen Sie auch die Shards und Partitionen zählen.

Nehmen wir zum Beispiel an, dass Sie bereits 100 Sammlungen erstellt haben, von denen 60 2 Shards und 4 Partitionen und die restlichen 40 Sammlungen 1 Shard und 12 Partitionen enthalten. Die Gesamtzahl der Sammeleinheiten (berechnet als shards × partitions) kann wie folgt ermittelt werden:

60 (collections) x 2 (shards) x 4 (partitions) + 40 (collections) x 1 (shard) x 12 (partitions) = 960

In diesem Beispiel entspricht die berechnete Gesamtzahl von 960 Sammeleinheiten der aktuellen Nutzung. Die maxGeneralCapacity definiert die maximale Anzahl von Sammeleinheiten, die eine Instanz unterstützen kann, die standardmäßig auf 65536 eingestellt ist. Das bedeutet, dass die Instanz bis zu 65.536 Sammeleinheiten aufnehmen kann. Wenn die Gesamtzahl diese Grenze überschreitet, zeigt das System die folgende Fehlermeldung an:

failed checking constraint: sum_collections(parition*shard) exceeding the max general capacity:

Um diesen Fehler zu vermeiden, können Sie entweder die Anzahl der Shards oder Partitionen in bestehenden oder neuen Sammlungen reduzieren, einige Sammlungen löschen oder die Sammlungsgrenze erhöhen, indem Sie maxGeneralCapacity, maxCollectionNum und maxCollectionNumPerDB zusammen ändern.

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

War diese Seite hilfreich?