IVFFlat
Inverted File with Flat compression: un algoritmo basato su cluster per la ricerca vettoriale approssimata. Divide lo spazio vettoriale in cluster (tramite centroidi); la ricerca guarda solo i cluster più vicini invece dell'intero insieme di dati. Usa meno memoria di HNSW, ma richiede di «addestrare» l'indice.
Meccanismo: prima un clustering k-means, poi ogni vettore appartiene al centroide più vicino. In fase di ricerca si scelgono i probes cluster più vicini e si confrontano solo i loro vettori. Più probes significano recall migliore ma maggiore lentezza. Vantaggio: molta meno memoria di HNSW e build veloce. Compromesso: servono dati di addestramento rappresentativi (per i centroidi), quindi è un problema se i dati cambiano molto o se l'indice viene creato su un insieme vuoto; a pari velocità il recall è spesso inferiore a quello di HNSW. Caso d'uso: grandi insiemi di dati con memoria limitata. In pgvector si sceglie tra IVFFlat (parsimonioso in memoria) e HNSW (più veloce e preciso, più memoria). Un classico compromesso dei database vettoriali: grafo contro cluster.