Creazione delle partizioni

Milvus ti consente di suddividere i dati vettoriali in alcune partizioni. Le ricerche e altre operazioni possono essere vincolate a una singola partizione per migliorare le prestazioni.

Una collezione è composta da una o più partizioni. Quando si crea una nuova collezione, Milvus creerà una partizione predefinita chiamata _default.

Nell'esempio seguente si stabilisce una partizione chiamata novel nella collezione book.

from pymilvus import Collection
collezione = Collection("book")      # Ottieni una collezione esistente
collezione.create_partition("novel")
Parametro Descrizione
partition_name Il nome della partizione da creare.
description (opzionale) Descrizione della partizione da creare.

Limitazioni

Funzionalità Limite massimo
Numero di partizioni in una collezione 4.096

Verifica dell'esistenza di una partizione

Verifica se una specifica partizione esiste nella collezione specificata.

from pymilvus import Collection
collezione = Collection("book")      # Ottieni una collezione esistente
collezione.has_partition("novel")

Elencazione di tutte le partizioni

from pymilvus import Collection
collezione = Collection("book")      # Ottieni una collezione esistente
collezione.partitions

Eliminazione di una partizione

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

Caricamento di una partizione

Il caricamento di una partizione in memoria invece di caricare l'intera collezione può ridurre significativamente l'utilizzo della memoria. Tutte le operazioni di ricerca e query in Milvus vengono eseguite in memoria.

A partire dalla versione 2.3.0, Milvus ha potenziato le sue operazioni sulle partizioni e supporta operazioni di caricamento e rilascio in cascata. Ciò significa che è possibile eseguire qualsiasi combinazione delle seguenti operazioni:

  • Caricare una collezione già carica.
  • Caricare una collezione e quindi caricare partizioni specifiche nella collezione.
  • Caricare una partizione e quindi caricare la collezione a cui appartiene la partizione.
  • Caricare una partizione e ricaricarla prima di rilasciarla.

Milvus consente agli utenti di caricare le partizioni come repliche multiple per sfruttare le risorse di CPU e memoria dei nodi di query aggiuntivi. Questa funzionalità è supportata nella versione attuale tramite PyMilvus.

from pymilvus import Collection
collezione = Collection("book")      # Ottieni una collezione esistente
collezione.load(["novel"], numero_repliche=2)

from pymilvus import Partition
partizione = Partition("novel")       # Ottieni una partizione esistente
partizione.load(numero_repliche=2)

Ottenere informazioni sulle repliche

È possibile visualizzare le informazioni sulle repliche caricate.

from pymilvus import Partition
partizione = Partition("novel")       # Ottieni una partizione esistente
partizione.load(numero_repliche=2)     # Carica la partizione con 2 repliche
risultato = partizione.get_repliche()
print(risultato)

Rilascio di una partizione

Come rilasciare una partizione dalla memoria dopo una ricerca o query per ridurre l'utilizzo della memoria.

A partire dalla versione 2.3.0, Milvus ha potenziato le sue operazioni sulle partizioni e supporta operazioni di caricamento e rilascio in cascata. Ciò significa che è possibile eseguire qualsiasi combinazione delle seguenti operazioni:

  • Rilasciare una collezione già caricata.
  • Rilasciare partizioni specifiche in una collezione già caricata.
  • Rilasciare una partizione già caricata.
  • Rilasciare partizioni parzialmente caricate in una collezione.
from pymilvus import Partition
partizione = Partition("novel")       # Ottieni una partizione esistente
partizione.rilascia()