La vector search è diventata un pezzo critico dell’infrastruttura AI: alimenta RAG, semantic search e la memoria degli agenti. Con la diffusione dei sistemi agentic, gli indici crescono da qualche milione a centinaia di milioni o miliardi di vettori. A quella scala tenere tutto in RAM costa migliaia di dollari al mese, e HNSW — l’algoritmo ANN in memoria più usato — diventa un collo di bottiglia.
In memoria vs on-disk
HNSW usa un grafo a più livelli e offre latenze bassissime finché l’indice sta in RAM. Quando non ci sta più, le alternative sono spostarlo su disco — con un crollo di performance dovuto agli accessi casuali (I/O non sequenziale) — oppure quantizzarlo pesantemente, con perdita di qualità nel retrieval.
Gli algoritmi on-disk nascono proprio per rompere questo limite. SPANN segue una logica a inverted-index: i vettori sono raggruppati in cluster, ciascuno rappresentato da un centroide. I centroidi (il routing layer) restano in RAM, mentre i vettori vivono su disco, scritti in modo sequenziale per cluster così da essere caricati a blocchi anziché con accessi casuali. DiskANN mantiene invece un grafo a singolo livello (Vamana): i vettori quantizzati e il grafo stanno in RAM, quelli a piena precisione su disco, con connessioni a lungo raggio per minimizzare il numero di hop.
L’economia della scelta
I numeri dell’articolo aiutano a inquadrare il trade-off. La RAM costa circa 5$/GB, l’EBS circa 0,08–0,10$/GB, l’SSD NVMe locale circa 0,20–0,25$/GB. Per un indice da 100 milioni di vettori a 1024 dimensioni in float32 (4 KB a vettore, che con replica 3x diventano 12 KB) servono 1,2 TB. La spesa mensile stimata: circa 6.000$ tenendo tutto in RAM non quantizzato, circa 1.500$ con quantizzazione scalare in RAM, circa 120$ su disco remoto e circa 300$ su disco locale.
Il prezzo da pagare è la latenza. Il paper di SPANN riporta il 90% di recall in circa 1 ms su scala miliardaria, ma è una media su singola macchina con indice su SSD locale. In un deployment reale cambia tutto: un benchmark di Turbopuffer su 10 milioni di vettori mostra circa 14 ms a p50 con indice “caldo” su storage veloce, contro circa 874 ms a freddo da object storage — un fattore 60x sullo stesso dato solo per lo stato della cache.
In sintesi
- HNSW resta la scelta più semplice per indici piccoli e medi latency-critical; on-disk conviene quando la RAM diventa un costo insostenibile.
- SPANN tiene in RAM solo i centroidi; DiskANN tiene vettori quantizzati e grafo, leggendo da disco i vettori a piena precisione.
- Il risparmio è enorme (da migliaia a poche centinaia di dollari al mese), ma la latenza su disco varia di 10x o più a seconda di hardware e cache.
Fonte: How to Optimize Vector Search When RAM Gets Too Expensive: On-Disk vs. In-Memory ANN Indexes — https://towardsdatascience.com/optimizing-vector-search-on-disk-vs-in-memory-ann-indexes-when-ram-gets-too-expensive/
Hai qualcosa da aggiungere? Unisciti alla discussione.