Milvus ha introdotto MMap per una gestione dei dati ridefinita e una maggiore capacità di archiviazione
Milvus è la soluzione più veloce tra i database vettoriali open-source, pensata per utenti con requisiti di prestazioni intensivi. Tuttavia, la diversità delle esigenze degli utenti rispecchia i dati con cui lavorano. Alcuni danno priorità a soluzioni convenienti e a una capacità di archiviazione estesa rispetto alla pura velocità. Comprendendo questo spettro di esigenze, Milvus introduce la funzionalità MMap, ridefinendo il modo in cui gestiamo grandi volumi di dati e promettendo efficienza dei costi senza sacrificare la funzionalità.
Che cos'è MMap?
MMap, abbreviazione di memory-mapped files, colma il divario tra file e memoria all'interno dei 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 fluido e un'archiviazione efficiente per file di grandi dimensioni o in situazioni in cui gli utenti devono accedere ai file in modo casuale.
Chi trae vantaggio da MMap?
I database vettoriali richiedono una notevole capacità di memoria a causa dei requisiti di archiviazione dei dati vettoriali. Con la funzionalità MMap, elaborare più dati con una memoria limitata diventa realtà. Tuttavia, questa maggiore capacità comporta un costo in termini di prestazioni. Il sistema gestisce la memoria in modo intelligente, espellendo alcuni dati in base al carico e all'utilizzo. Questa espulsione consente a Milvus di elaborare più dati con la stessa capacità di memoria.
Durante i nostri test, abbiamo osservato che, con memoria abbondante, tutti i dati risiedono in memoria dopo un periodo di riscaldamento, preservando le prestazioni del sistema. Tuttavia, con l'aumentare del volume dei dati, le prestazioni diminuiscono gradualmente. Pertanto, consigliamo la funzionalità MMap agli utenti meno sensibili alle fluttuazioni delle prestazioni.
Abilitare MMap in Milvus: una configurazione semplice
Abilitare MMap in Milvus è straordinariamente semplice. Tutto ciò che devi fare è modificare il file milvus.yaml: aggiungi l'elemento mmapDirPath nella configurazione queryNode e imposta un percorso valido come suo valore.
Trovare il giusto equilibrio: prestazioni, archiviazione e limiti di sistema
I pattern di accesso ai dati influiscono significativamente sulle prestazioni. La funzionalità MMap di Milvus ottimizza l'accesso ai dati in base alla località. MMap consente a Milvus di scrivere i dati scalari direttamente su disco per segmenti di dati ad accesso sequenziale. I dati a lunghezza variabile, come le stringhe, vengono appiattiti e indicizzati utilizzando un array di offset in memoria. Questo approccio garantisce la località dell'accesso ai dati ed elimina l'overhead derivante dall'archiviazione separata di ciascun dato a lunghezza variabile. Le ottimizzazioni per gli indici vettoriali sono meticolose. MMap viene impiegato selettivamente per i dati vettoriali, mantenendo al contempo le liste di adiacenza in memoria, conservando una quantità significativa di memoria senza compromettere le prestazioni.
Inoltre, MMap massimizza l'elaborazione dei dati minimizzando l'uso della memoria. A differenza delle versioni precedenti di Milvus, in cui QueryNode copiava interi dataset, MMap adotta durante lo sviluppo un processo di streaming snello e privo di copie. Questa ottimizzazione riduce drasticamente l'overhead di memoria.
I risultati dei nostri test interni mostrano che Milvus può gestire in modo efficiente il doppio del volume di dati quando MMap è abilitato.
La strada da percorrere: innovazione continua e miglioramenti incentrati sull'utente
Sebbene la funzionalità MMap sia in fase beta, il team di Milvus si impegna al miglioramento continuo. I futuri aggiornamenti perfezioneranno l'uso della memoria del sistema, consentendo a Milvus di supportare volumi di dati ancora più estesi su un singolo nodo. Gli utenti possono aspettarsi un controllo più granulare sulla funzionalità MMap, che consentirà modifiche dinamiche alle collection 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 significativo salto in avanti nella tecnologia di elaborazione dei dati. Trovando un delicato equilibrio tra prestazioni, costi e limiti di sistema, Milvus consente agli utenti di gestire enormi quantità di dati in modo efficiente e conveniente. Man mano che Milvus continua a evolversi, rimane all'avanguardia nelle soluzioni innovative, ridefinendo i confini di ciò che è realizzabile nella gestione dei dati.
Restate sintonizzati per ulteriori sviluppi rivoluzionari mentre Milvus prosegue il suo percorso verso un'eccellenza senza pari nell'elaborazione dei dati.
Continua a leggere

Zilliz Skills Breakdown: How AI Agents Master Vector Databases
Zilliz's Milvus Skill (pymilvus, 7 files) and Zilliz Cloud Skill (zilliz-cli, 14 modules) bring vector-DB dev and ops into one Claude Code session.

A Developer's Guide to Exploring Milvus 2.6 Features on Zilliz Cloud
Milvus 2.6 marks a shift from “vector search + glue code” to a more advanced retrieval engine, and it is now Generally Available (GA) on Zilliz Cloud (a managed Milvus service).

Vector Databases vs. Object-Relational Databases
Use a vector database for AI-powered similarity search; use an object-relational database for complex data modeling with both relational integrity and object-oriented features.



