Piattaforma edge cloud di Fastly

Che cos'è un database vettoriale?

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ù.

Pronto per iniziare?

Contattaci oggi