Tworzenie partycji
Milvus umożliwia podzielenie danych wektorowych na kilka partycji. Wyszukiwania i inne operacje mogą być ograniczone do pojedynczej partycji w celu poprawy wydajności.
Kolekcja składa się z jednej lub więcej partycji. Tworząc nową kolekcję, Milvus stworzy domyślną partycję _default
.
Poniższy przykład tworzy partycję o nazwie novel
w kolekcji book
.
from pymilvus import Collection
collection = Collection("book") # Pobranie istniejącej kolekcji
collection.create_partition("novel")
Parametr | Opis |
---|---|
partition_name |
Nazwa tworzonej partycji. |
description (opcjonalne) |
Opis tworzonej partycji. |
Ograniczenia
Funkcja | Maksymalne ograniczenie |
---|---|
Liczba partycji w kolekcji | 4,096 |
Weryfikacja istnienia partycji
Sprawdź, czy określona partycja istnieje w określonej kolekcji.
from pymilvus import Collection
collection = Collection("book") # Pobranie istniejącej kolekcji
collection.has_partition("novel")
Wyświetlanie wszystkich partycji
from pymilvus import Collection
collection = Collection("book") # Pobranie istniejącej kolekcji
collection.partitions
Usuwanie partycji
from pymilvus import Collection
collection.drop_partition("novel")
Ładowanie partycji
Załadowanie partycji do pamięci zamiast całej kolekcji może znacząco zmniejszyć użycie pamięci. Wszystkie operacje wyszukiwania i zapytań w Milvus są wykonywane w pamięci.
Począwszy od wersji 2.3.0, Milvus ulepszył swoje operacje na partycjach i obsługuje kaskadowe operacje ładowania i zwalniania. Oznacza to, że można wykonać dowolną kombinację następujących operacji:
- Załadować załadowaną kolekcję.
- Załadować kolekcję, a następnie załadować konkretne partycje w kolekcji.
- Załadować partycję, a następnie załadować kolekcję, do której należy partycja.
- Załadować partycję i ponownie załadować ją przed zwolnieniem.
Milvus umożliwia użytkownikom ładowanie partycji jako wielu replik, aby wykorzystać zasoby CPU i pamięci dodatkowych węzłów zapytań. Ta funkcja jest obsługiwana w bieżącej wersji poprzez PyMilvus.
from pymilvus import Collection
collection = Collection("book") # Pobranie istniejącej kolekcji
collection.load(["novel"], replica_number=2)
from pymilvus import Partition
partition = Partition("novel") # Pobranie istniejącej partycji
partition.load(replica_number=2)
Uzyskiwanie informacji o replikach
Możesz wyświetlić informacje na temat załadowanych replik.
from pymilvus import Partition
partition = Partition("novel") # Pobranie istniejącej partycji
partition.load(replica_number=2) # Załaduj partycję z 2 replikami
result = partition.get_replicas()
print(result)
Zwolnianie partycji
Jak zwolnić partycję z pamięci po wykonaniu wyszukiwania lub zapytania, aby zmniejszyć użycie pamięci.
Począwszy od wersji 2.3.0, Milvus ulepszył swoje operacje na partycjach i obsługuje kaskadowe operacje ładowania i zwalniania. Oznacza to, że można wykonać dowolną kombinację następujących operacji:
- Zwolnij załadowaną kolekcję.
- Zwolnij konkretne partycje w załadowanej kolekcji.
- Zwolnij załadowaną partycję.
- Zwolnij częściowo załadowane partycje w kolekcji.
from pymilvus import Partition
partition = Partition("novel") # Pobranie istniejącej partycji
partition.release()