Un vector database archivia embeddings e risponde a una domanda sola, ma velocissimamente: quali vettori sono più vicini a questo? È la ricerca per similarità che fa funzionare il RAG, i sistemi di raccomandazione, la deduplicazione semantica. Sotto il cofano, indici approssimati (HNSW e simili) che scambiano un pizzico di esattezza per ordini di grandezza in velocità.
Il panorama, con una dose di pragmatismo:
- pgvector – l'estensione Postgres: se hai già Postgres, per la maggior parte dei progetti è la risposta (un database in meno da gestire)
- Qdrant, Weaviate, Milvus – i dedicati, quando i vettori sono milioni e servono filtri e scala
- Chroma, FAISS, SQLite-vec – embedded, per prototipi e progetti locali
Verità controcorrente: sotto le centinaia di migliaia di documenti, un ibrido full-text + vettori batte spesso i soli vettori – è la scelta di l0-memory: FTS5 di default, vettori come opzione.