Tworzenie partycji
To zagadnienie opisuje, jak tworzyć partycje w systemie Milvus.
Milvus umożliwia podział większości danych wektorowych na niewielką liczbę partycji. Dzięki temu wyszukiwanie i inne operacje mogą być ograniczone do pojedynczej partycji, co poprawia wydajność.
Kolekcja składa się z jednej lub większej liczby partycji. Przy tworzeniu nowej kolekcji Milvus utworzy domyślną partycję o nazwie _default
. Więcej informacji znajdziesz w słowniku - Partycja.
Poniższy przykład tworzy partycję o nazwie novel
w kolekcji book
.
err := milvusClient.CreatePartition(
context.Background(), // ctx
"book", // CollectionName
"novel" // partitionName
)
if err != nil {
log.Fatal("Nie udało się utworzyć partycji: ", err.Error())
}
Parametr | Opis |
---|---|
ctx |
Kontekst kontrolujący proces wywołania interfejsu API. |
CollectionName |
Nazwa kolekcji, w której ma zostać utworzona partycja. |
partitionName |
Nazwa tworzonej partycji. |
Ograniczenia
Funkcja | Maksymalne ograniczenie |
---|---|
Liczba partycji w jednej kolekcji | 4,096 |
Weryfikacja istnienia partycji
Sprawdź, czy określona partycja istnieje w kolekcji.
hasPar, err := milvusClient.HasPartition(
context.Background(), // ctx
"book", // CollectionName
"novel" // partitionName
)
if err != nil {
log.Fatal("Nie udało się sprawdzić partycji: ", err.Error())
}
log.Println(hasPar)
Wyświetlanie wszystkich partycji
listPar, err := milvusClient.ShowPartitions(
context.Background(), // ctx
"book", // CollectionName
)
if err != nil {
log.Fatal("Nie udało się wyświetlić partycji: ", err.Error())
}
log.Println(listPar)
Usuwanie partycji
err := milvusClient.DropPartition(
context.Background(), // ctx
"book", // CollectionName
"novel" // partitionName
)
if err != nil {
log.Fatal("Nie udało się usunąć partycji: ", err.Error())
}
Ładowanie partycji
Milvus pozwala użytkownikom ładować partycje jako wielokrotne repliki, aby wykorzystać zasoby CPU i pamięci dodatkowych węzłów zapytań, poprawiając ogólną liczbę zapytań na sekundę (QPS) i przepustowość.
err := milvusClient.LoadPartitions(
context.Background(), // ctx
"book", // CollectionName
[]string{"novel"}, // partitionNames
false // async
)
if err != nil {
log.Fatal("Nie udało się załadować partycji: ", err.Error())
}
Zwalnianie partycji
err := milvusClient.ReleasePartitions(
context.Background(), // ctx
"book", // CollectionName
[]string{"novel"} // partitionNames
)
if err != nil {
log.Fatal("Nie udało się zwolnić partycji: ", err.Error())
}