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