Erstellen von Partitionen

Milvus ermöglicht es, Vektordaten in einige Partitionen aufzuteilen. Suchen und andere Operationen können auf eine einzige Partition beschränkt werden, um die Leistung zu verbessern.

Eine Sammlung besteht aus einer oder mehreren Partitionen. Bei der Erstellung einer neuen Sammlung erstellt Milvus standardmäßig eine Standardpartition namens _default.

Im folgenden Beispiel wird eine Partition namens novel in der Sammlung book erstellt.

from pymilvus import Collection
collection = Collection("book")      # Eine vorhandene Sammlung abrufen
collection.create_partition("novel")
Parameter Beschreibung
partition_name Der Name der zu erstellenden Partition.
description (optional) Beschreibung der zu erstellenden Partition.

Einschränkungen

Funktion Maximales Limit
Anzahl der Partitionen in einer Sammlung 4.096

Überprüfen der Existenz einer Partition

Überprüfen Sie, ob eine bestimmte Partition in der angegebenen Sammlung vorhanden ist.

from pymilvus import Collection
collection = Collection("book")      # Eine vorhandene Sammlung abrufen
collection.has_partition("novel")

Auflisten aller Partitionen

from pymilvus import Collection
collection = Collection("book")      # Eine vorhandene Sammlung abrufen
collection.partitions

Löschen einer Partition

from pymilvus import Collection
collection.drop_partition("novel")

Laden einer Partition

Das Laden einer Partition in den Speicher anstelle des gesamten Sammlungs kann den Speicherverbrauch erheblich reduzieren. Alle Such- und Abfrageoperationen in Milvus werden im Speicher ausgeführt.

Ab Version 2.3.0 hat Milvus seine Partitionsvorgänge verbessert und unterstützt kaskadierende Lade- und Freigabeoperationen. Dies bedeutet, dass Sie jede Kombination der folgenden Operationen ausführen können:

  • Laden einer geladenen Sammlung.
  • Laden einer Sammlung und dann Laden bestimmter Partition(en) in der Sammlung.
  • Laden einer Partition und dann Laden der Sammlung, zu der die Partition gehört.
  • Laden einer Partition und erneutes Laden vor der Freigabe.

Milvus ermöglicht es Benutzern, Partitionen als mehrere Replikate zu laden, um die CPU- und Speicherressourcen zusätzlicher Abfragenode zu nutzen. Diese Funktion wird in der aktuellen Version durch PyMilvus unterstützt.

from pymilvus import Collection
collection = Collection("book")      # Eine vorhandene Sammlung abrufen
collection.load(["novel"], replica_number=2)

from pymilvus import Partition
partition = Partition("novel")       # Eine vorhandene Partition abrufen
partition.load(replica_number=2)

Abrufen von Replikationsinformationen

Sie können Informationen über die geladenen Replikate anzeigen.

from pymilvus import Partition
partition = Partition("novel")       # Eine vorhandene Partition abrufen
partition.load(replica_number=2)     # Die Partition mit 2 Replikaten laden
result = partition.get_replicas()
print(result)

Freigeben einer Partition

Wie man eine Partition nach einer Suche oder Abfrage aus dem Speicher freigibt, um den Speicherverbrauch zu reduzieren.

Ab Version 2.3.0 hat Milvus seine Partitionsvorgänge verbessert und unterstützt kaskadierende Lade- und Freigabeoperationen. Dies bedeutet, dass Sie jede Kombination der folgenden Operationen ausführen können:

  • Freigabe einer geladenen Sammlung.
  • Freigabe bestimmter Partition(en) in einer geladenen Sammlung.
  • Freigabe einer geladenen Partition.
  • Teilweise geladene Partitionen in einer Sammlung freigeben.
from pymilvus import Partition
partition = Partition("novel")       # Eine vorhandene Partition abrufen
partition.release()