Vector Database
Un vector database è un sistema di archiviazione dati progettato per conservare vettori numerici ad alta dimensione (embedding) ed eseguire ricerche per similarità su di essi su larga scala. Mentre un database relazionale risponde a query come "trova le righe dove paese = 'IT'", un vector database risponde a query come "trova i 10 vettori più vicini per significato a questo vettore di query" — un'operazione fondamentalmente diversa che gli indici standard dei database non riescono a eseguire in modo efficiente.
Come Funziona
Quando un documento viene convertito in un embedding, il vettore risultante (es. 1536 numeri in virgola mobile) viene archiviato nel vector database insieme a un riferimento al testo sorgente. Per interrogare il database, la query in arrivo viene embeddita con lo stesso modello e il database esegue una ricerca per vicini approssimati (ANN) — restituendo i k vettori archiviati geometricamente più vicini al vettore di query.
Gli algoritmi ANN (HNSW, IVF, Flat) scambiano un piccolo grado di precisione con un grande guadagno in velocità. Su milioni di vettori, una ricerca esatta esaustiva richiederebbe secondi; ANN restituisce risultati in millisecondi con una perdita di accuratezza trascurabile per la maggior parte delle applicazioni.
I vector database e le librerie più diffuse includono Pinecone, Weaviate, Qdrant, Milvus e pgvector (un'estensione PostgreSQL che aggiunge la ricerca vettoriale alle tabelle relazionali).
Casi d'Uso Comuni
- Knowledge base RAG — archiviare i chunk dei documenti come vettori affinché un modello linguistico possa recuperare il contesto rilevante prima di generare una risposta.
- Motori di ricerca semantica — alimentare la ricerca per significato su cataloghi prodotti, record CRM o articoli di supporto.
- Sistemi di raccomandazione — trovare elementi più simili al profilo embedding di un utente.
- Rilevamento anomalie — segnalare i record i cui vettori sono insolitamente lontani da tutti i cluster noti.
Vector Database vs. Database Tradizionale
Un database relazionale può archiviare vettori come colonne array, ma non può eseguire ricerche ANN in modo efficiente senza un'estensione come pgvector. Un vector database dedicato è costruito appositamente per questo carico di lavoro: le sue strutture di indicizzazione, il layout di archiviazione e il query planner sono tutti ottimizzati per la ricerca per similarità anziché per il recupero esatto.
Per applicazioni in cui la vector search è una capacità tra le tante (es. filtraggio per data E similarità semantica), un approccio ibrido usando pgvector all'interno di un'istanza Postgres esistente è spesso più semplice rispetto all'operare un servizio separato.
Termini Correlati
L'Approccio di Knowlee
Il knowledge graph di Knowlee archivia l'intelligence degli account come combinazione di relazioni strutturate a grafo e vettori di embedding, abilitando sia l'attraversamento strutturato (quale azienda è connessa a quale persona) che il recupero semantico (quali segnali dell'account sono più rilevanti per questo outreach). Il layer vettoriale risiede all'interno del graph store anziché come servizio separato, mantenendo coerente l'architettura di recupero. Questa architettura è approfondita in The Enterprise Knowledge Graph Moat.