Milvus
Zilliz
Casa
  • Guida per l'utente
  • Home
  • Docs
  • Guida per l'utente

  • Ottimizzazione dello stoccaggio

  • Stoccaggio a più livelli

  • Riscaldamento

RiscaldareCompatible with Milvus 2.6.4+

In Milvus, Warm Up integra il Tiered Storage alleviando la latenza di primo impatto che si verifica quando si accede per la prima volta ai dati freddi. Una volta configurato, Warm Up precarica nella cache tipi selezionati di campi o indici prima che un segmento diventi interrogabile, assicurando che i dati a cui si accede di frequente siano disponibili subito dopo il caricamento.

Perché il warm up

Lazy Load in Tiered Storage migliora l'efficienza caricando inizialmente solo i metadati. Tuttavia, ciò può causare latenza alla prima query sui dati freddi, poiché i chunk o gli indici necessari devono essere recuperati dallo storage degli oggetti.

Warm Up risolve questo problema mettendo nella cache in modo proattivo i dati critici durante l'inizializzazione del segmento.

È particolarmente utile quando:

  • Alcuni indici scalari sono usati frequentemente nelle condizioni di filtro.

  • Gli indici vettoriali sono essenziali per le prestazioni di ricerca e devono essere pronti immediatamente.

  • La latenza di avvio a freddo dopo il riavvio del QueryNode o il caricamento di un nuovo segmento è inaccettabile.

Al contrario, il Warm Up non è consigliato per i campi o gli indici interrogati di rado. Disattivare il Warm Up riduce il tempo di caricamento del segmento e conserva lo spazio nella cache, ideale per i campi vettoriali di grandi dimensioni o per i campi scalari non critici.

Configurazione

Il Warm Up è controllato da queryNode.segcore.tieredStorage.warmup in milvus.yaml. È possibile configurarlo separatamente per campi scalari, indici scalari, campi vettoriali e indici vettoriali. Ogni target supporta due modalità:

Modalità

Descrizione

Scenario tipico

sync

Precarico prima che il segmento sia interrogabile. Il tempo di caricamento aumenta leggermente, ma la prima query non comporta latenza.

Da usare per i dati critici per le prestazioni che devono essere immediatamente disponibili, come gli indici scalari ad alta frequenza o gli indici vettoriali chiave usati nella ricerca.

disable

Saltare il precaricamento. Il segmento diventa interrogabile più rapidamente, ma la prima query può attivare il caricamento su richiesta.

Da usare per i dati a cui si accede di rado o di grandi dimensioni, come i campi vettoriali grezzi o i campi scalari non critici.

Esempio di YAML:

queryNode:
  segcore:
    tieredStorage:
      warmup:
        # options: sync, disable.
        # Specifies the timing for warming up the Tiered Storage cache.
        # - `sync`: data will be loaded into the cache before a segment is considered loaded.
        # - `disable`: data will not be proactively loaded into the cache, and loaded only if needed by search/query tasks.
        # Defaults to `sync`, except for vector field which defaults to `disable`.
        scalarField: sync
        scalarIndex: sync
        vectorField: disable # cache warmup for vector field raw data is by default disabled.
        vectorIndex: sync

Parametro

Valori

Descrizione

Caso d'uso consigliato

scalarField

sync | disable

Controlla se i dati dei campi scalari sono precaricati.

Utilizzare sync solo se i campi scalari sono piccoli e vengono consultati frequentemente nei filtri. Altrimenti, disable per ridurre il tempo di caricamento.

scalarIndex

sync | disable

Controlla se gli indici scalari sono precaricati.

Usare sync per gli indici scalari coinvolti in condizioni di filtro frequenti o in query di intervallo.

vectorField

sync | disable

Controlla se i dati dei campi vettoriali sono precaricati.

Generalmente disable per evitare un uso intensivo della cache. Abilitare sync solo quando i vettori grezzi devono essere recuperati subito dopo la ricerca (per esempio, i risultati di similarità con richiamo di vettori).

vectorIndex

sync | disable

Controlla se gli indici dei vettori sono precaricati.

Usare sync per gli indici vettoriali che sono critici per la latenza della ricerca. Nei carichi di lavoro batch o a bassa frequenza, disable per una più rapida disponibilità dei segmenti.

Pratiche ottimali

Il Warm Up influisce solo sul carico iniziale. Se i dati nella cache vengono successivamente eliminati, la query successiva li ricaricherà su richiesta.

  • Evitare l'uso eccessivo di sync. Il precaricamento di troppi campi aumenta il tempo di caricamento e la pressione sulla cache.

  • Iniziare in modo conservativo: attivare il Warm Up solo per i campi e gli indici a cui si accede di frequente.

  • Monitorare la latenza delle query e le metriche della cache, quindi espandere il precaricamento se necessario.

  • Per i carichi di lavoro misti, applicare sync alle collezioni sensibili alle prestazioni e disable a quelle orientate alla capacità.

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

Questa pagina è stata utile?