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