Supporto di Milvus per più tipi di indici
Milvus è un database vettoriale open-source con funzionalità all'avanguardia per la ricerca di similarità e le applicazioni di IA. Una delle funzionalità essenziali di Milvus è il supporto per vari tipi di Index; gli Index aiutano a ottimizzare l'interrogazione e il recupero dei dati.
Tipi di Index
Attualmente, Milvus supporta otto tipi di Index:
- FLAT: FLAT è più adatto agli scenari che cercano risultati di ricerca perfettamente accurati ed esatti (tasso di recall del 100%) su un piccolo dataset su scala di milioni. FLAT non comprime i vettori ed è l'unico index che garantisce risultati di ricerca esatti. I risultati di FLAT possono essere un punto di confronto per i risultati prodotti da altri index con un recall inferiore al 100%.
- IVF_FLAT: IVF_FLAT è un index basato sulla quantizzazione più adatto agli scenari che cercano un equilibrio ideale tra accuratezza e velocità di query (dati a bassa dimensionalità con meno di 100.000 voci). IVF_FLAT è un sistema che divide i dati vettoriali in cluster e restituisce risultati di ricerca di similarità basati su confronti tra l'input target e i vettori nel cluster o nei cluster più simili. IVS_FLAT riduce drasticamente il tempo di query considerando il numero di cluster interrogati. Si noti che IVF_FLAT non esegue alcuna compressione, quindi i file di index che produce hanno all'incirca la stessa dimensione dei dati vettoriali originali, grezzi e non indicizzati.
- IV_SQ8: IVF_SQ8 è un index basato sulla quantizzazione ed è più adatto agli scenari che cercano una significativa riduzione del consumo di memoria su disco, CPU e GPU in situazioni in cui queste risorse sono limitate. IV_SQ8 può ottenere ciò convertendo ciascun FLOAT (4 byte) in UINT8 (1 byte) eseguendo la quantizzazione scalare. L'index IV_SQ8 è adatto a scenari di dati a bassa dimensionalità con meno di 100.000 voci.
- HNSW Index: Hierarchical Navigable Small World (HNSW) è un index basato su grafi più adatto agli scenari con un'elevata richiesta di efficienza di ricerca. Questo Index crea una struttura simile ad albero per indicizzare i vettori. Pertanto, è utile quando il dataset è enorme (dataset grande con molte dimensioni) e richiede una ricerca veloce. Costruisce una struttura di navigazione multistrato per un'immagine secondo determinate regole. In questa struttura, gli strati superiori sono più radi e le distanze tra i nodi sono maggiori; gli strati inferiori sono più densi e le distanze tra i nodi sono minori. La ricerca parte dallo strato più alto, trova il nodo più vicino al target in questo strato, quindi entra nello strato successivo per iniziare un'altra ricerca. Dopo molteplici iterazioni, può avvicinarsi rapidamente alla posizione target.
- IVF_PQ: IVF_PQ è un index basato sulla quantizzazione più adatto agli scenari che cercano un'elevata velocità di query su dati ad alta dimensionalità anche a scapito dell'accuratezza. Decompone uniformemente lo spazio vettoriale ad alta dimensionalità in prodotti cartesiani di spazi vettoriali a bassa dimensionalità, quindi quantizza gli spazi vettoriali a bassa dimensionalità. La quantizzazione prodotto calcola le distanze tra il vettore target e il centro di clustering di ciascuno spazio a bassa dimensionalità, riducendo la complessità in termini di tempo e spazio. Il file di index IVF_PQ è più piccolo (e meno accurato) di IVF_SQ8.
- ANNOY: ANNOY è un index basato su alberi più adatto agli scenari che cercano un elevato tasso di recall. È utile per dataset (meno di 1 milione di voci) con alta dimensionalità (e quando si cercano vettori simili).
- BIN_FLAT: Questo Index è adatto a dati a bassa dimensionalità con meno di 100.000 voci. Questo index è lo stesso di FLAT, tranne per il fatto che BIN_FLAT viene utilizzato per embedding binari.
- BIN_IVF_FLAT: Questo Index è adatto a dataset di dati ad alta dimensionalità con meno di 10 milioni di voci quando si cercano vettori simili. Questo index è lo stesso di FLAT, tranne per il fatto che BIN_IVF_FLAT viene utilizzato per embedding binari.
In conclusione
Milvus supporta vari tipi di Index che aiutano a ottimizzare l'interrogazione e il recupero dei dati per diversi casi d'uso. Scegliere il tipo di Index giusto può migliorare significativamente le prestazioni di ricerca della tua applicazione.
Se stai ancora determinando quale tipo di Index utilizzare per il tuo caso d'uso specifico, è consigliabile provare diversi Index e confrontarne le prestazioni. Milvus può fornire prestazioni di ricerca fulminee per le tue applicazioni AI con il tipo di Index e la configurazione giusti.
Prossimi passi
- Scarica Milvus e inizia
- Leggi di più sui tipi di Index di Milvus
- Dai un'occhiata ai benchmark di Milvus in questo paper
Continua a leggere

Migrating from S3 Vectors to Zilliz Cloud: Unlocking the Power of Tiered Storage
Learn how Zilliz Cloud bridges cost and performance with tiered storage and enterprise-grade features, and how to migrate data from AWS S3 Vectors to Zilliz Cloud.

Creating Collections in Zilliz Cloud Just Got Way Easier
We've enhanced the entire collection creation experience to bring advanced capabilities directly into the interface, making it faster and easier to build production-ready schemas without switching tools.

Vector Databases vs. Document Databases
Use a vector database for similarity search and AI-powered applications; use a document database for flexible schema and JSON-like data storage.



