L’evoluzione e il futuro dei database vettoriali: approfondimenti da Charles, CEO di Zilliz
Questa è la prima puntata della nostra serie di blog in due parti sull’evoluzione e il futuro dei database vettoriali e dell’IA.
I database vettoriali sono emersi come un’innovazione fondamentale nell’area in rapida evoluzione della data science e dell’intelligenza artificiale, spinti dall’aumento di dati complessi e non strutturati e dall’ascesa dei large language models (LLMs). Questo nuovo tipo di database è cruciale nella gestione e nell’interrogazione semantica dei dati non strutturati tramite vector embeddings, modernizzando l’accessibilità e l’analisi dei dati e rispondendo alle esigenze delle applicazioni di IA di nuova generazione. Guidato dagli approfondimenti di Charles, CEO di Zilliz, questo blog esamina l’evoluzione, le dinamiche attuali e la traiettoria futura dei database vettoriali.
Che cos’è un Database Vettoriale?
Un database vettoriale è un’infrastruttura dati all’avanguardia progettata per gestire e interrogare dati non strutturati come immagini, video e linguaggi naturali. Possiamo utilizzare algoritmi di deep learning per trasformare i dati non strutturati in un nuovo formato di dati noto come vector embeddings. Poi, archiviamo questi embeddings in un database vettoriale, che ci consente di eseguire query semantiche su quei dati. Questa capacità è potente perché, a differenza delle tradizionali ricerche basate su parole chiave, ci permette di esaminare la semantica dei dati non strutturati, offrendo un’esperienza di ricerca più sfumata e ricca di contesto.
Gli sviluppatori utilizzano ampiamente i database vettoriali per creare sistemi di raccomandazione intelligenti e personalizzati, chatbot basati sull’IA e ricerca semantica. Con l’ascesa degli LLM, i database vettoriali sono emersi come una componente infrastrutturale chiave della Retrieval-Augmented Generation (RAG), fornendo agli LLM conoscenze aggiuntive come contesto della query per generare risposte altamente pertinenti.
Il panorama attuale dei database vettoriali
Attualmente, il mercato è popolato da numerosi "database vettoriali”, inclusi database vettoriali appositamente progettati come Milvus, database tradizionali con un plugin di ricerca vettoriale come Elasticsearch, database vettoriali leggeri come Chroma e molte altre tecnologie con capacità di ricerca vettoriale come FAISS. Anche se esistono così tanti tipi di database vettoriali, non sono tutti uguali.
Tecnologie di Ricerca Vettoriale
Alcuni adottano approcci simili ai sistemi embedded, come Chroma, che si distingue come leader in questo ambito. Il suo vantaggio risiede nella sua impronta minima, rendendo eccezionalmente semplice per gli utenti configurarlo e avviare le operazioni. Tuttavia, come SQLite, Chroma non è un sistema di database completo ma una libreria runtime. Di conseguenza, manca del supporto di funzionalità essenziali come la persistenza dei dati, il recupero dei dati e, in particolare, la scalabilità.
Database come PGVector e Pinecone hanno adottato un approccio scale-up. Quando vengono distribuiti su processori più avanzati, raggiungono prestazioni superiori all’interno di un’istanza a nodo singolo, infondendo fiducia a breve termine nelle loro capacità. Tuttavia, lo scaling up presenta dei limiti, principalmente dovuti ai vincoli fisici imposti da una macchina a nodo singolo. Pinecone, ad esempio, supporta un numero considerevole di pod, ma è limitato dalle chiamate CPU su una singola architettura x86. Optare per le architetture CPU più recenti e più costose è necessario per superare questi limiti.
Un altro svantaggio del modello scale-up è il rischio di un singolo punto di errore. In caso di guasto di un nodo, tutti i dati associati a quel nodo andranno persi. Al contrario, un’architettura distribuita intrinseca all’approccio scale-out consente meccanismi efficienti di replica dei dati e failover. Nel peggiore dei casi, con la perdita di un nodo in un sistema distribuito con, ad esempio, 16 nodi, solo una frazione (1/16) dei dati viene compromessa. Il recupero di questa porzione più piccola di dati è più gestibile e rapido, riducendo al minimo il rischio di perdita totale dei dati.
Come abbiamo creato il database vettoriale Milvus?
Prima di esplorare il nostro percorso nella creazione di Milvus, discutiamo l’essenza dei sistemi di database. In termini generali, un sistema di database completo comprende un livello di storage, un formato di storage specificato, un livello di orchestrazione dei dati responsabile del posizionamento o della memorizzazione nella cache dei dati nelle posizioni appropriate, un ottimizzatore di query e un motore di esecuzione efficiente. Il motore di esecuzione e l’ottimizzatore di query devono essere flessibili per adattarsi e ottimizzarsi per uno spettro più ampio di infrastrutture hardware, data la proliferazione di architetture eterogenee nell’ultimo decennio. Questa flessibilità si basa su diversi processori sottostanti, che spaziano dalle CPU moderne, ai processori ARM, alle GPU e a una serie di acceleratori progettati esplicitamente per applicazioni di IA. Tale integrazione consente la creazione di piani di esecuzione ottimali che sfruttano i punti di forza unici di ciascun tipo di processore, migliorando così in modo significativo l’efficienza e le prestazioni dell’esecuzione delle query.
Allora, qual è la nostra filosofia per creare il sistema di database vettoriale Milvus?
Abbracciare il calcolo eterogeneo
Fin dalla sua nascita, Milvus ha abbracciato pienamente il calcolo eterogeneo, dimostrando la sua versatilità e le sue elevate prestazioni su vari processori moderni. Supporta diversi tipi di hardware, dalle CPU Intel e AMD ai processori ARM e alle GPU Nvidia. Le capacità di integrazione di Milvus coprono attività di elaborazione vettoriale IA, dall’algebra lineare di base a complessi calcoli basati su grafi. Questa compatibilità è fondamentale perché ogni tipo di processore ha un set di istruzioni, un’architettura di cache e un modello di esecuzione unici. Adattare gli algoritmi e ottimizzare il motore di esecuzione per corrispondere a queste caratteristiche distintive massimizza prestazioni ed efficienza.
Supportare sia la scalabilità verticale sia quella orizzontale
Man mano che i volumi di dati continuano a crescere, la scalabilità diventa una questione critica. Abbiamo progettato il sistema Milvus per affrontare questa sfida attraverso la scalabilità sia verticale (scaling up) sia orizzontale (scaling out). Questa capacità comporta lo sviluppo di diversi algoritmi distribuiti per facilitare lo scaling out e l’adozione di strategie solide per la consistenza dei dati, la sincronizzazione, la replica e il ripristino in caso di guasti imprevisti del sistema.
Offrire un’esperienza fluida per gli sviluppatori dalla prototipazione alla produzione
Forniamo una suite di modalità di distribuzione di Milvus per soddisfare le esigenze specifiche delle diverse fasi di sviluppo: Milvus Lite per la prototipazione rapida, Milvus Standalone per applicazioni su scala più ridotta, Milvus Cluster per la scalabilità orizzontale e Zilliz Cloud (il Milvus completamente gestito) per la facilità di gestione. Oltre a mantenere la posizione di leader di mercato nei database vettoriali ad alte prestazioni, ci impegniamo a migliorare l’esperienza degli sviluppatori AI che si avvicinano per la prima volta alla ricerca. Presto aggiorneremo Milvus Lite rendendolo una modalità di distribuzione ancora più adatta ai principianti e facile da usare.
La filosofia di base è semplice: implementare il codice lato client una sola volta e utilizzarlo in qualsiasi fase dello sviluppo della tua applicazione con istanze Milvus su misura, dalla prototipazione in un notebook Jupyter a un servizio di produzione che serve miliardi di documenti, ovunque sia necessaria la ricerca vettoriale.
Per una guida dettagliata sulla scelta tra le quattro diverse versioni di Milvus, consulta questo blog su con quale versione di Milvus iniziare.
Come scegliere il database vettoriale giusto per la tua azienda?
Quando si considera il passaggio a un database vettoriale, ci sono due aspetti principali da valutare:
Innanzitutto, valuta se le prestazioni della ricerca vettoriale sono critiche per la tua azienda. Ad esempio, se stai creando una soluzione di Retrieval Augmented Generation (RAG) che serve milioni di utenti ogni giorno ed è centrale per la tua attività, le prestazioni del calcolo vettoriale diventano fondamentali. In questo caso, si consiglia di optare per un sistema di database vettoriale puro. Un database vettoriale specializzato come Zilliz Cloud non solo garantisce prestazioni costanti e ottimali, ma si allinea anche ai tuoi requisiti SLA, offrendo tranquillità per servizi mission-critical in cui le prestazioni non sono negoziabili.
In secondo luogo, considera la crescita prevista del volume dei dati nel tempo. Man mano che il tuo servizio rimane in esecuzione per un periodo prolungato, il volume dei tuoi dataset cresce, rendendo l’ottimizzazione dei costi una preoccupazione inevitabile nel tuo processo decisionale. La maggior parte dei sistemi di database vettoriali puri sul mercato offre prestazioni superiori richiedendo meno risorse, risultando quindi altamente conveniente. In questo contesto, Milvus si distingue, mostrando un rapporto costo-efficacia oltre 100 volte superiore rispetto ad alternative come PG Vector, OpenSearch e altre soluzioni di database web non native.
Oltre ai fattori sopra indicati, prestazioni, scalabilità e funzionalità sono tra le principali metriche per valutare un database vettoriale. Per una guida più dettagliata sulla valutazione dei database vettoriali, fai riferimento a questo blog di benchmarking
Quando non è necessario un database vettoriale distribuito su vasta scala?
Un database vettoriale completo potrebbe essere eccessivo per sviluppatori e organizzazioni che lavorano su prototipi o testano soluzioni RAG. Potrebbe bastare loro un database vettoriale leggero, in esecuzione localmente. Per offrire agli utenti un’esperienza d’uso più ottimale, Milvus avrà un maggiore supporto per la distribuzione locale, pensato per una configurazione più rapida durante le fasi iniziali dello sviluppo.
Il nostro impegno si estende alla fornitura di un'esperienza unificata per gli sviluppatori, indipendentemente dalla scala o dalla complessità del loro progetto. Che tu stia provando lo stack AI sul tuo laptop o stia cercando una soluzione di ricerca vettoriale scalabile e pronta per la produzione, Milvus garantisce un percorso fluido. Man mano che passi dal prototipo alla produzione, puoi migrare facilmente al deployment Docker e Kubernetes per prestazioni e personalizzabilità superiori grazie alla sua architettura distribuita e beneficiare delle interfacce SDK e API coerenti. Sul percorso ben illuminato, devi scrivere il tuo programma una sola volta, e può essere eseguito senza problemi in vari ambienti, dai laptop ai data center e ai cloud pubblici. Miriamo a supportare gli sviluppatori in ogni fase, offrendo flessibilità senza compromettere l'esperienza utente.
Qual è il futuro dei database vettoriali?
Abbiamo assistito a un'espansione delle funzionalità offerte dai sistemi di database vettoriali. Negli ultimi anni, questi sistemi si sono concentrati principalmente sull'offerta di una singola funzionalità: la ricerca approssimata del vicino più prossimo (ricerca ANN). Tuttavia, il panorama si sta evolvendo e nei prossimi due anni vedremo una gamma più ampia di funzionalità.
Tradizionalmente, i database vettoriali supportavano la ricerca basata sulla similarità. Ora stanno estendendo le loro capacità per includere la ricerca esatta o il matching. Questa versatilità ti consente di analizzare i tuoi dati attraverso due prospettive: una ricerca di similarità per una comprensione più ampia e una ricerca esatta per le sfumature. Combinando questi due approcci, gli utenti possono perfezionare l'equilibrio tra l'ottenere una panoramica di alto livello e l'approfondire dettagli specifici.
Ottenere uno schizzo dei dati potrebbe essere sufficiente in determinate situazioni, e una ricerca basata sulla semantica funziona bene. Tuttavia, nelle situazioni in cui contano differenze minime, gli utenti possono fare zoom sui dati ed esaminare attentamente ogni voce alla ricerca di caratteristiche sottili.
I database vettoriali probabilmente supporteranno ulteriori carichi di lavoro di calcolo vettoriale, come il clustering e la classificazione vettoriale. Queste funzionalità non sono solo caratteristiche aggiuntive, ma sono particolarmente rilevanti e d'impatto in applicazioni come il rilevamento delle frodi e il rilevamento delle anomalie. Qui, tecniche di apprendimento non supervisionato possono essere applicate per raggruppare o classificare gli embedding vettoriali, identificando pattern comuni e potenzialmente prevenendo perdite significative.
Nella prossima parte della serie di blog, condividerò le mie riflessioni sull'evoluzione delle tecnologie AI e su come influenzano il futuro dei database vettoriali. Continua a seguirci!
Continua a leggere

Zilliz Cloud BYOC Now Available Across AWS, GCP, and Azure
Zilliz Cloud BYOC is now generally available on all three major clouds. Deploy fully managed vector search in your own AWS, GCP, or Azure account — your data never leaves your VPC.

Introducing Zilliz Cloud Global Cluster: Region-Level Resilience for Mission-Critical AI
Zilliz Cloud Global Cluster delivers multi-region resilience, automatic failover, and fast global AI search with built-in security and compliance.

Vector Databases vs. Object-Relational Databases
Use a vector database for AI-powered similarity search; use an object-relational database for complex data modeling with both relational integrity and object-oriented features.



