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()