Un database vettoriale è progettato per archiviare, indicizzare e cercare dati ad alta dimensionalità. In poche parole: memorizza i dati in una “matrice” matematica di numeri, chiamati “vettori”. Questi vettori sono raggruppati in base alla loro somiglianza reciproca. Questi vettori sono in genere generati da modelli di machine learning e vengono utilizzati per rappresentare dati non strutturati come testo, immagini, audio e video in un formato numerico che ne cattura il “significato” semantico.
Questa formattazione consente di eseguire facilmente query a bassa latenza su di essi. Pensalo come fare la spesa di articoli simili in un negozio di alimentari: non vorresti che mele e banane si trovassero in parti diverse dello stesso negozio. La possibilità di eseguire query a bassa latenza rende i database vettoriali perfetti per le applicazioni di IA, poiché possono ricordare gli input precedenti.
Cosa sono i vettori?
Nel machine learning, un vettore è un elenco di numeri in virgola mobile ([0,23, -0,11, 0,87, ...]) che codificano le caratteristiche di un oggetto, come una frase o un’immagine. Questi sono spesso generati utilizzando modelli come Word2Vec, BERT o CLIP. L'idea è che elementi simili avranno vettori vicini tra loro nello spazio vettoriale (l'esempio di mele e banane riportato sopra).
Perché abbiamo bisogno dei database vettoriali?
I database tradizionali (come SQL o NoSQL) non sono ottimizzati per la ‘ricerca di similarità’ (di nuovo mele e banane). Database vettoriali:
Abilita ricerche efficienti del ‘nearest neighbor’, ad esempio per trovare il documento o l'immagine più simile.
Gestisci dati non strutturati su larga scala.
Supporta operazioni come la ricerca semantica, i sistemi di raccomandazione e il rilevamento delle anomalie.
Fornisci strategie di indicizzazione (come HNSW, IVF o PQ) che a loro volta consentono tempi di query rapidi.
Quali sono alcuni casi d'uso comuni per i database vettoriali?
Ricerca semantica: motori di ricerca che comprendono il significato, non solo la parola chiave
Sistemi di raccomandazione: Suggerimento di contenuti o prodotto in base alla somiglianza
Ricerca di immagini e video: trovare contenuti visivamente simili
Chatbot e memoria LLM: archiviazione del contesto per la retrieval-augmented generation
Rilevamento delle frodi: identificazione delle anomalie di comportamento tramite modelli vettoriali
Come vengono memorizzati i dati in un database vettoriale e come funzionano le ricerche?
I database vettoriali usano algoritmi di approximate nearest neighbor (ANN) per trovare rapidamente i vettori più vicini a un vettore di query in base a una metrica di similarità. ANN sacrifica un po' di precisione in cambio di un Vantaggio significativo in termini di velocità, che consente la scalabilità.
Ogni voce include tipicamente:
Il vettore stesso
Un payload facoltativo (metadati come etichette di testo, timestamp, ecc.)
Un ID univoco per il recupero e l'aggiornamento
Alcuni database consentono di combinare la similarità vettoriale con il filtraggio basato sui metadati (ovvero “cerca documenti simili a X ma solo in inglese”).
Qual è la differenza tra un database vettoriale e un database tradizionale?
Alcune differenze chiave tra un database tradizionale e un database vettoriale sono mostrate in questa tabella.
Funzionalità | Database tradizionale | Database vettoriale |
Tipo di dati | Strutturato/tabellare | Non strutturato/semantico |
Tipo di query | Corrispondenza esatta/filtro | Ricerca per similarità |
Indicizzazione | Alberi B, mappe hash | Grafici ANN (HNSW, FAISS) |
Casi d'uso comuni | CRUD, transazioni | Ricerca IA, consigli |
Quali sono alcuni database vettoriali popolari?
Alcuni database vettoriali ampiamente utilizzati includono:
Pinecone
Weaviate
FAISS (di Meta)
Milvus
Qdrant
Chroma
Vespa
Ognuno ha punti di forza diversi, a seconda del tuo caso d'uso. Le caratteristiche principali spaziano dalle prestazioni alle integrazioni e alla disponibilità open source.
Sebbene Fastly non offra direttamente database vettoriali, la nostra piattaforma edge cloud aiuta ad accelerare la distribuzione di applicazioni a uso intensivo di dati, incluse quelle basate su IA e ricerca vettoriale. Che tu stia sviluppando sistemi di ricerca next-gen, sistemi di raccomandazione o analytics in tempo reale, Fastly garantisce che le tue API e app funzionino in modo rapido, sicuro e più vicino agli utenti. Fai clic qui per saperne di più.