🚀 Prova Zilliz Cloud, la versione completamente gestita di Milvus, gratuitamente—sperimenta prestazioni 10 volte più veloci! Prova Ora>>

milvus-logo
LFAI
  • Home
  • Blog
  • Milvus ha presentato MMap per una gestione dei dati ridefinita e una maggiore capacità di archiviazione

Milvus ha presentato MMap per una gestione dei dati ridefinita e una maggiore capacità di archiviazione

  • Engineering
November 15, 2023
Yang Cen

Milvus è la soluzione più veloce tra i database vettoriali open-source e si rivolge agli utenti con esigenze di prestazioni elevate. Tuttavia, la diversità delle esigenze degli utenti rispecchia i dati con cui lavorano. Alcuni danno la priorità a soluzioni economiche e a un ampio spazio di archiviazione rispetto alla pura velocità. Comprendendo questo spettro di richieste, Milvus ha introdotto la funzione MMap, che ridefinisce il modo in cui gestiamo grandi volumi di dati, promettendo efficienza in termini di costi senza sacrificare la funzionalità.

Che cos'è MMap?

MMap, abbreviazione di memory-mapped file, colma il divario tra file e memoria nei sistemi operativi. Questa tecnologia consente a Milvus di mappare file di grandi dimensioni direttamente nello spazio di memoria del sistema, trasformando i file in blocchi di memoria contigui. Questa integrazione elimina la necessità di operazioni esplicite di lettura o scrittura, cambiando radicalmente il modo in cui Milvus gestisce i dati. Garantisce un accesso continuo e un'archiviazione efficiente per i file di grandi dimensioni o per le situazioni in cui gli utenti devono accedere ai file in modo casuale.

Chi beneficia di MMap?

I database vettoriali richiedono una notevole capacità di memoria a causa dei requisiti di archiviazione dei dati vettoriali. Con la funzione MMap, l'elaborazione di più dati in una memoria limitata diventa una realtà. Tuttavia, questa maggiore capacità ha un costo in termini di prestazioni. Il sistema gestisce in modo intelligente la memoria, eliminando alcuni dati in base al carico e all'utilizzo. Questo svuotamento permette a Milvus di elaborare più dati con la stessa capacità di memoria.

Durante i nostri test, abbiamo osservato che con una memoria ampia, tutti i dati risiedono in memoria dopo un periodo di riscaldamento, preservando le prestazioni del sistema. Tuttavia, con l'aumento del volume dei dati, le prestazioni diminuiscono gradualmente. Pertanto, consigliamo la funzione MMap agli utenti meno sensibili alle fluttuazioni delle prestazioni.

Abilitazione di MMap in Milvus: una semplice configurazione

L'abilitazione di MMap in Milvus è molto semplice. È sufficiente modificare il file milvus.yaml: aggiungere la voce mmapDirPath alla configurazione queryNode e impostare come valore un percorso valido.

Trovare l'equilibrio: prestazioni, memoria e limiti del sistema

I modelli di accesso ai dati hanno un impatto significativo sulle prestazioni. La funzione MMap di Milvus ottimizza l'accesso ai dati in base alla localizzazione. MMap consente a Milvus di scrivere dati scalari direttamente sul disco per i segmenti di dati ad accesso sequenziale. I dati di lunghezza variabile, come le stringhe, vengono appiattiti e indicizzati utilizzando un array di offset in memoria. Questo approccio garantisce la localizzazione dell'accesso ai dati ed elimina l'overhead della memorizzazione separata di ogni dato a lunghezza variabile. Le ottimizzazioni per gli indici vettoriali sono meticolose. MMap viene impiegato in modo selettivo per i dati vettoriali, mantenendo in memoria gli elenchi di adiacenza e conservando una quantità significativa di memoria senza compromettere le prestazioni.

Inoltre, MMap massimizza l'elaborazione dei dati riducendo al minimo l'utilizzo della memoria. A differenza delle precedenti versioni di Milvus, in cui QueryNode copiava interi insiemi di dati, MMap adotta un processo di streaming semplificato e privo di copie durante lo sviluppo. Questa ottimizzazione riduce drasticamente l'overhead di memoria.

I risultati dei nostri test interni dimostrano che Milvus è in grado di gestire in modo efficiente un volume di dati doppio quando si attiva MMap.

La strada da percorrere: innovazione continua e miglioramenti incentrati sull'utente

Mentre la funzione MMap è in fase beta, il team di Milvus è impegnato in un continuo miglioramento. I futuri aggiornamenti perfezioneranno l'utilizzo della memoria del sistema, consentendo a Milvus di supportare volumi di dati ancora più ampi su un singolo nodo. Gli utenti possono prevedere un controllo più granulare sulla funzione MMap, consentendo modifiche dinamiche alle collezioni e modalità avanzate di caricamento dei campi. Questi miglioramenti offrono una flessibilità senza precedenti, consentendo agli utenti di adattare le proprie strategie di elaborazione dei dati a requisiti specifici.

Conclusione: ridefinire l'eccellenza nell'elaborazione dei dati con Milvus MMap

La funzione MMap di Milvus 2.3 segna un salto significativo nella tecnologia di elaborazione dei dati. Trovando un delicato equilibrio tra prestazioni, costi e limiti di sistema, Milvus consente agli utenti di gestire grandi quantità di dati in modo efficiente ed economico. Milvus continua a evolversi e rimane all'avanguardia delle soluzioni innovative, ridefinendo i confini di ciò che è possibile ottenere nella gestione dei dati.

Rimanete sintonizzati per ulteriori sviluppi rivoluzionari, mentre Milvus continua il suo viaggio verso l'eccellenza nell'elaborazione dei dati.

Like the article? Spread the word

Continua a Leggere