MongoDB vs Rockset: scegliere il database giusto per le applicazioni GenAI
Con l'evoluzione delle applicazioni basate sull'AI, l'importanza delle capacità di ricerca vettoriale nel supportare questi progressi non può essere sopravvalutata. Questo post del blog discuterà due database di rilievo con capacità di ricerca vettoriale: MongoDB e Rockset. Ciascuno offre capacità robuste per gestire la ricerca vettoriale, una funzionalità essenziale per applicazioni come motori di raccomandazione, recupero di immagini e ricerca semantica. Il nostro obiettivo è fornire a sviluppatori e ingegneri un confronto chiaro, aiutandoli a decidere quale database si allinei meglio ai loro requisiti specifici.
Che cos'è un database vettoriale?
Prima di confrontare MongoDB vs Rockset, esploriamo innanzitutto il concetto di database vettoriali.
Un database vettoriale è progettato specificamente per archiviare e interrogare vettori ad alta dimensionalità, che sono rappresentazioni numeriche di dati non strutturati. Questi vettori codificano informazioni complesse, come il significato semantico del testo, le caratteristiche visive delle immagini o gli attributi dei prodotti. Consentendo ricerche di similarità efficienti, i database vettoriali svolgono un ruolo fondamentale nelle applicazioni di AI, permettendo un'analisi e un recupero dei dati più avanzati.
I casi d'uso comuni per i database vettoriali includono raccomandazioni di prodotti e-commerce, piattaforme di scoperta di contenuti, rilevamento di anomalie nella cybersecurity, analisi di immagini mediche e attività di elaborazione del linguaggio naturale (NLP). Svolgono inoltre un ruolo cruciale nella Retrieval Augmented Generation (RAG), una tecnica che migliora le prestazioni dei modelli linguistici di grandi dimensioni (LLM) fornendo conoscenza esterna per ridurre problemi come le allucinazioni dell'AI.
Esistono molti tipi di database vettoriali disponibili sul mercato, tra cui:
- Database vettoriali appositamente progettati come Milvus, Zilliz Cloud (Milvus completamente gestito)
- Librerie di ricerca vettoriale come Faiss e Annoy.
- Database vettoriali leggeri come Chroma e Milvus Lite.
- Database tradizionali con componenti aggiuntivi per la ricerca vettoriale capaci di eseguire ricerche vettoriali su piccola scala.
MongoDB è un database NoSQL e Rockset è un database di ricerca e analytics; entrambi offrono la ricerca vettoriale come componente aggiuntivo. Questo post confronta le loro capacità di ricerca vettoriale.
MongoDB: Le basi
MongoDB Atlas Vector Search è una funzionalità che consente di eseguire ricerche di similarità vettoriale sui dati archiviati in MongoDB Atlas. Puoi indicizzare e interrogare embedding vettoriali ad alta dimensionalità insieme ai dati dei tuoi documenti ed eseguire AI e machine learning direttamente nel database.
Alla base, Atlas Vector Search utilizza l'algoritmo Hierarchical Navigable Small World (HNSW) per indicizzare e cercare dati vettoriali. Questo crea un grafo multilivello dello spazio vettoriale, così puoi eseguire ricerche Approximate Nearest Neighbor (ANN). È un equilibrio tra velocità e accuratezza per la ricerca vettoriale su larga scala. Atlas Vector Search supporta anche ricerche Exact Nearest Neighbors (ENN), che privilegiano l'accuratezza rispetto alle prestazioni per query fino a 10.000 documenti.
Uno dei grandi vantaggi di Atlas Vector Search è la sua integrazione con il modello documentale flessibile di MongoDB. Puoi archiviare gli embedding vettoriali insieme ad altri dati del documento, così puoi effettuare ricerche in modo più contestuale e preciso. Puoi interrogare qualsiasi tipo di dato che possa essere incorporato fino a 4096 dimensioni. Atlas Vector Search ti consente di combinare ricerche di similarità vettoriale con il filtraggio documentale tradizionale. Ad esempio, una ricerca semantica di prodotti potrebbe essere filtrata per categoria, fascia di prezzo o disponibilità.
Atlas Vector Search supporta anche la ricerca ibrida, combinando la ricerca vettoriale con la ricerca full text per risultati più granulari. Questo è diverso da Atlas Search, che è focalizzato sulla ricerca basata su parole chiave. La piattaforma si integra con servizi e strumenti AI popolari, così puoi usarla con modelli di embedding di provider come OpenAI, VoyageAI e molti altri elencati su Hugging Face. Supporta anche framework open-source come LangChain e LlamaIndex per la creazione di applicazioni che utilizzano Large Language Models (LLMs).
Per garantire scalabilità e prestazioni, MongoDB Atlas fornisce Search Nodes, che offrono un’infrastruttura dedicata per i carichi di lavoro di Atlas Search e Vector Search. Questo ti consente di disporre di risorse di calcolo ottimizzate e di scalare in modo indipendente le esigenze di ricerca, così ottieni prestazioni migliori su larga scala.
Grazie a queste capacità all’interno dell’ecosistema MongoDB, Atlas Vector Search è una soluzione completa per gli sviluppatori che creano applicazioni basate su AI, sistemi di raccomandazione o funzionalità di ricerca avanzate. Non c’è bisogno di un database vettoriale separato: puoi usare la scalabilità e le ricche funzionalità di MongoDB insieme alla ricerca vettoriale.
Rockset: Panoramica e tecnologia di base
Rockset è un database di ricerca e analisi in tempo reale per dati strutturati e non strutturati, inclusi gli embedding vettoriali. Il suo punto di forza è l’ingestione, l’indicizzazione e l’interrogazione dei dati in tempo reale, quindi è ideale per applicazioni che richiedono insight aggiornati al secondo. Rockset supporta sia l’ingestione di dati in streaming sia in bulk, può elaborare flussi di eventi ad alta velocità e feed di change data capture (CDC) in 1-2 secondi.
Una delle funzionalità chiave di Rockset è il Converged Indexing costruito su RocksDB mutabile. Questo consente aggiornamenti in-place di vettori e metadati, quindi è estremamente efficiente per scenari in cui i dati cambiano frequentemente. Rockset può gestire documenti fino a 40MB e supporta dimensionalità vettoriale fino a 200.000, quindi è adatto a un’ampia gamma di casi d’uso di embedding vettoriali.
Rockset ha la ricerca vettoriale integrata nel core. Supporta i metodi di ricerca K-Nearest Neighbors (KNN) e Approximate Nearest Neighbors (ANN) e utilizza un indice FAISS distribuito per la scalabilità. Rockset è agnostico rispetto all’algoritmo, quindi puoi scegliere la tua implementazione di ricerca. L’ottimizzatore basato sui costi può scegliere dinamicamente tra i metodi di ricerca KNN e ANN per prestazioni ottimali.
Ciò che rende Rockset unico per la ricerca vettoriale è il Converged Index, che combina ricerca, ANN, indici colonnari e indici a righe in uno solo. Questo significa che puoi gestire un’ampia gamma di pattern di query out of the box. Rockset supporta anche il filtraggio dei metadati e la ricerca ibrida. L’ottimizzatore sceglierà il percorso di query più efficiente. Può cercare su più campi ANN, supporta modelli multi-modali e dispone sia di API SQL sia REST per l’interfaccia di query.
Differenze chiave
Quando scegli tra MongoDB Atlas Vector Search e Rockset per la ricerca vettoriale, devi conoscere le differenze per prendere una decisione informata. Confrontiamo questi due sistemi in diverse aree chiave:
Metodologia di ricerca
MongoDB Atlas Vector Search utilizza l’algoritmo Hierarchical Navigable Small World (HNSW) per l’indicizzazione e la ricerca dei dati vettoriali. Supporta sia le ricerche Approximate Nearest Neighbor (ANN) sia Exact Nearest Neighbors (ENN).
Rockset dispone di metodi di ricerca K-Nearest Neighbors (KNN) e Approximate Nearest Neighbors (ANN). Ha un indice FAISS distribuito per la scalabilità ed è agnostico rispetto all’algoritmo, quindi puoi scegliere la tua implementazione di ricerca.
Dati
MongoDB Atlas Vector Search si integra con il modello documentale flessibile di MongoDB, così puoi archiviare gli embedding vettoriali insieme ad altri dati del documento. Questo significa ricerche più contestuali e precise, con supporto fino a 4096 dimensioni.
Rockset può gestire dati strutturati e non strutturati, inclusi gli embedding vettoriali. Può gestire documenti fino a 40 MB e dimensionalità vettoriale fino a 200.000, quindi è adatto a molti casi d’uso.
Scalabilità e prestazioni
MongoDB Atlas dispone di Search Nodes dedicati per i carichi di lavoro Search e Vector Search, così puoi scalare la ricerca in modo indipendente e ottimizzare le prestazioni su larga scala.
Rockset ha un Converged Index che combina indici di ricerca, ANN, colonnari e a righe in uno solo, così può gestire molti pattern di query. È progettato per l’ingestione, l’indicizzazione e l’interrogazione dei dati in tempo reale.
Flessibilità e personalizzazione
MongoDB Atlas Vector Search consente di combinare ricerche per similarità vettoriale con il filtraggio dei documenti e supporta la ricerca ibrida, combinando la ricerca vettoriale con la ricerca full-text.
Rockset offre la flessibilità di scegliere la propria implementazione di ricerca e supporta il filtraggio dei metadati e la ricerca ibrida. Il suo ottimizzatore basato sui costi può scegliere per te tra i metodi di ricerca KNN e ANN.
Integrazione ed ecosistema
MongoDB Atlas Vector Search si integra con servizi e strumenti AI popolari, supporta modelli di embedding di OpenAI e VoyageAI e funziona con framework open-source come LangChain e LlamaIndex.
Rockset dispone sia di API SQL sia REST per l’interrogazione, ma le informazioni non specificano le integrazioni con l’ecosistema.
Facilità d’uso
MongoDB Atlas Vector Search si basa sull’ecosistema MongoDB esistente, quindi molti sviluppatori lo troveranno familiare. È una soluzione completa all’interno della piattaforma MongoDB, quindi può semplificare il processo di sviluppo.
Il supporto SQL di Rockset lo rende più familiare agli utenti di database SQL.
Costo
MongoDB ha un ecosistema consolidato, molta documentazione e gli sviluppatori lo conoscono bene. Se stai già usando MongoDB, aggiungere la ricerca vettoriale potrebbe essere una scelta ovvia.
Il pricing di Rockset si basa su calcolo e archiviazione. Pur essendo più flessibile, potrebbe richiedere una maggiore gestione delle risorse per ottimizzare i costi.
Quando usare ciascuno
MongoDB Atlas Vector Search è una buona scelta quando stai già usando MongoDB per l’archiviazione dei tuoi dati e vuoi aggiungere la ricerca vettoriale senza introdurre un nuovo sistema. È ideale per applicazioni che necessitano che la ricerca vettoriale sia integrata in modo fluido con l’interrogazione dei documenti, come sistemi di raccomandazione di contenuti o ricerca semantica nelle piattaforme e-commerce. Puoi archiviare gli embedding vettoriali insieme ad altri dati del documento, quindi è perfetto per scenari in cui il contesto conta e supporta la ricerca ibrida per risultati più granulari.
Rockset è ottimo per casi d’uso che richiedono analisi e ricerca in tempo reale su dati che cambiano rapidamente. Il suo Converged Indexing è perfetto per applicazioni che devono ingerire, indicizzare e interrogare flussi di dati ad alta velocità con bassa latenza. Rockset supporta vettori ad altissima dimensionalità (fino a 200.000 dimensioni), quindi è adatto ad applicazioni avanzate di machine learning o a scenari complessi di ricerca per similarità. Se il tuo caso d’uso prevede aggiornamenti frequenti ai dati vettoriali o richiede insight in tempo reale da sorgenti di dati in streaming, allora Rockset potrebbe essere la scelta migliore.
Riepilogo
MongoDB Atlas Vector Search sfrutta i punti di forza del modello documentale di MongoDB e della scalabilità per offrire un’unica piattaforma sia per la ricerca tradizionale sia per la ricerca vettoriale. È integrato con servizi AI popolari e supporta la ricerca ibrida, quindi è un’ottima scelta per gli sviluppatori già nell’ecosistema MongoDB. Rockset è ottimo per l’analisi in tempo reale e la ricerca vettoriale ad alta dimensionalità grazie al suo approccio di indicizzazione unico per eseguire query rapidamente su dati che cambiano velocemente. La scelta tra questi due dipende in ultima analisi dal tuo caso d’uso. Considera la tua infrastruttura esistente, la natura dei tuoi dati (statici vs. in rapida evoluzione), la dimensionalità dei tuoi embedding vettoriali e l’importanza dell’analisi in tempo reale nella tua applicazione. Entrambi offrono una potente ricerca vettoriale, ma i loro punti di forza si allineano a diversi casi d’uso e diverse esigenze di gestione dei dati.
Leggi questo per ottenere una panoramica di MongoDB e Rockset, ma per valutarli devi farlo in base al tuo caso d’uso. Uno strumento che può aiutare in questo è VectorDBBench, uno strumento di benchmarking open-source per il confronto di database vettoriali. Alla fine, un benchmarking approfondito con i tuoi dataset e pattern di query sarà fondamentale per prendere una decisione tra questi due approcci potenti ma diversi alla ricerca vettoriale nei sistemi di database distribuiti.
Utilizzo di VectorDBBench open-source per valutare e confrontare i database vettoriali per conto tuo
VectorDBBench è uno strumento di benchmarking open-source per utenti che necessitano di sistemi di archiviazione e recupero dei dati ad alte prestazioni, in particolare database vettoriali. Questo strumento consente agli utenti di testare e confrontare diversi sistemi di database vettoriali come Milvus e Zilliz Cloud (il Milvus gestito) usando i propri dataset e trovare quello più adatto ai loro casi d’uso. Con VectorDBBench, gli utenti possono prendere decisioni basate sulle prestazioni effettive dei database vettoriali anziché su affermazioni di marketing o voci di corridoio.
VectorDBBench è scritto in Python e concesso in licenza con licenza open-source MIT, il che significa che chiunque può usarlo, modificarlo e distribuirlo liberamente. Lo strumento è mantenuto attivamente da una comunità di sviluppatori impegnati a migliorarne le funzionalità e le prestazioni.
Scarica VectorDBBench dal suo repository GitHub per riprodurre i nostri risultati di benchmark o ottenere risultati sulle prestazioni con i tuoi dataset.
Dai una rapida occhiata alle prestazioni dei database vettoriali mainstream nella classifica di VectorDBBench.
Leggi i seguenti blog per saperne di più sulla valutazione dei database vettoriali.
Ulteriori risorse su VectorDB, GenAI e ML
Continua a leggere

The AWS Outage Was a Wake-Up Call for Vector Database Cross-Region Disaster Recovery
Zilliz Cloud Had the Answer Before the Crisis. Zilliz Cloud is the world's first vector database with native cross-region disaster recovery.

Demystifying the Milvus Sizing Tool
Explore how to use the Sizing Tool to select the optimal configuration for your Milvus deployment.

Cosmos World Foundation Model Platform for Physical AI
NVIDIA's Cosmos platform enables safe, digital twin training of GenAI models for physical applications, overcoming data scarcity and safety challenges.
The Definitive Guide to Choosing a Vector Database
Overwhelmed by all the options? Learn key features to look for & how to evaluate with your own data. Choose with confidence.


