È uscito il Corso SQL Completo
Torna al blog

Cos'è un vector database

Cos'è un vector database spiegato semplice: come archivia e cerca gli embedding, differenza con i database tradizionali, a cosa serve nel RAG e quali sono i più diffusi.

Edoardo Midali

Edoardo Midali

Developer · Content Creator

3 min di lettura

I vector database sono diventati una componente chiave delle applicazioni AI, soprattutto con la diffusione del RAG e della ricerca semantica. Sono un tipo di database diverso da quelli tradizionali, pensato per un compito specifico. In questo articolo ti spiego cos'è un vector database in modo semplice e a cosa serve.

Cos'è un vector database in parole semplici

Un vector database è un database specializzato nell'archiviare e cercare vettori numerici (gli embedding), ottimizzato per trovare rapidamente quelli più simili a un vettore dato. In altre parole, è il tipo di database che serve quando vuoi cercare "per significato" invece che "per parole esatte".

Mentre un database tradizionale eccelle nel cercare valori precisi ("trova l'utente con id 42"), un vector database eccelle nel cercare la somiglianza ("trova i contenuti più simili a questo, anche se non identici").

Il problema che risolve

L'AI moderna trasforma testi, immagini e altri dati in embedding: liste di numeri che rappresentano il significato. Per sfruttarli, serve poter rispondere velocissimamente a domande come "quali tra questi milioni di vettori sono più vicini a quello della mia query?".

Un database normale non è fatto per questo: confrontare un vettore con milioni di altri sarebbe lentissimo. I vector database usano tecniche speciali per farlo in modo rapido ed efficiente, anche su enormi quantità di dati.

Database tradizionale vs vector database

AspettoDatabase tradizionaleVector database
Cosa cercaValori esatti, condizioni preciseSimilarità tra vettori
Tipo di ricerca"Uguale a", "maggiore di""Più simile a"
Dati idealiStrutturati (numeri, testo, date)Embedding (vettori)
Caso d'usoGestionali, e-commerceRicerca semantica, RAG, AI

Non sono in competizione: spesso convivono in un'applicazione, ognuno per il suo compito.

A cosa serve un vector database

Gli usi principali ruotano attorno alla ricerca per significato:

  • RAG: recuperare i documenti pertinenti da passare a un LLM. È l'uso più diffuso oggi.
  • Ricerca semantica: trovare contenuti per significato, non per parole esatte.
  • Sistemi di raccomandazione: suggerire elementi simili.
  • Rilevamento di duplicati o anomalie: identificare cose molto simili (o molto diverse) tra loro.

Come funziona la ricerca

In modo semplificato:

  1. Hai milioni di embedding salvati nel vector database.
  2. Arriva una query, che viene trasformata in un embedding.
  3. Il database trova i vettori salvati più "vicini" a quello della query.
  4. Restituisce gli elementi corrispondenti, ordinati per somiglianza.

Il tutto in una frazione di secondo, anche su grandi volumi, grazie a indici ottimizzati per la ricerca di similarità.

I vector database più diffusi

Esistono soluzioni dedicate (come Pinecone, Weaviate, Qdrant, Chroma) e anche estensioni che aggiungono capacità vettoriali a database tradizionali (ad esempio pgvector per PostgreSQL). Quest'ultima opzione è interessante perché ti permette di gestire dati normali e vettori nello stesso database, semplificando l'architettura di progetti piccoli e medi.

In sintesi

Un vector database è un database specializzato nell'archiviare e cercare embedding, ottimizzato per trovare rapidamente i vettori più simili a uno dato. A differenza dei database tradizionali, che cercano valori esatti, permette la ricerca "per significato", essenziale per RAG, ricerca semantica e raccomandazioni. Esistono soluzioni dedicate ed estensioni per database esistenti come PostgreSQL.

Per il quadro completo, vedi cosa sono gli embedding e cos'è il RAG.