MongoDB vs MyScale: scegliere il database giusto per le applicazioni GenAI
Con l’evoluzione delle applicazioni guidate dall’IA, l’importanza delle capacità di ricerca vettoriale nel supportare questi progressi non può essere sottovalutata. Questo post del blog discuterà due database di rilievo con capacità di ricerca vettoriale: MongoDB e MyScale. 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 MyScale, 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 IA, permettendo un’analisi e un recupero dei dati più avanzati.
I casi d’uso comuni per i database vettoriali includono raccomandazioni di prodotti per l’e-commerce, piattaforme di scoperta dei 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 large language models (LLM) fornendo conoscenza esterna per ridurre problemi come le allucinazioni dell’IA.
Sul mercato sono disponibili molti tipi di database vettoriali, tra cui:
- Database vettoriali purpose-built 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 di ricerca vettoriale capaci di eseguire ricerche vettoriali su piccola scala.
MongoDB è un database NoSQL con la ricerca vettoriale come componente aggiuntivo e MyScale è un database basato su ClickHouse che combina ricerca vettoriale e analisi SQL. Questo post confronta le loro capacità di ricerca vettoriale.
MongoDB: Le basi
MongoDB Atlas Vector Search è una funzionalità che consente di effettuare ricerche di similarità vettoriale sui dati archiviati in MongoDB Atlas. È possibile indicizzare e interrogare embedding vettoriali ad alta dimensionalità insieme ai dati dei documenti ed eseguire IA 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ì è possibile 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 di 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 creare applicazioni che utilizzano Large Language Models (LLMs).
Per garantire scalabilità e prestazioni, MongoDB Atlas fornisce Search Nodes, che offre un’infrastruttura dedicata per i carichi di lavoro di Atlas Search e Vector Search. Questo ti consente di avere risorse di calcolo ottimizzate e una scalabilità indipendente delle esigenze di ricerca, così ottieni prestazioni migliori su larga scala.
Avendo queste capacità nell’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.
Che cos’è MyScale? Le basi
MyScale è un database basato su cloud costruito sopra il database open source ClickHouse, progettato per carichi di lavoro di AI e machine learning. Può gestire dati strutturati e vettoriali e analisi in tempo reale e machine learning. MyScale è focalizzato su serie temporali, ricerca vettoriale e ricerca full text, quindi è adatto all’elaborazione in tempo reale e agli insight guidati dall’AI. Utilizzando l’architettura ClickHouse, MyScale è ad alte prestazioni e scalabile per l’AI.
Una delle funzionalità chiave di MyScale è il supporto SQL nativo, che semplifica le query guidate dall’AI integrando ricerca vettoriale, ricerca full text e query SQL tradizionali in un unico sistema. Questo riduce la necessità di più strumenti e lo rende scalabile per l’AI. MyScale supporta e gestisce l’elaborazione analitica sia di dati strutturati sia di dati vettorializzati su un’unica piattaforma utilizzando l’architettura di database OLAP per operare su dati vettorializzati. Gli sviluppatori possono interagire con MyScale usando SQL, quindi è accessibile a tutti i programmatori che hanno familiarità con i database relazionali.
MyScale ha molteplici tipi di indici vettoriali e metriche di similarità per supportare diversi casi d’uso. Supporta metriche di distanza comuni come distanza euclidea (L2), prodotto interno (IP) e similarità coseno. Il database ha molteplici algoritmi di indicizzazione: MSTG (Multi-Scale Tree Graph), ScaNN, IVFFLAT, IVFPQ, IVFSQ e HNSW, ciascuno con il proprio insieme di parametri da ottimizzare. Il motore vettoriale proprietario MSTG di MyScale utilizza SSD NVMe per aumentare la densità dei dati, quindi supera i database vettoriali specializzati sia in prestazioni sia in costi.
Combinando la funzionalità di un database SQL, un database vettoriale e un motore di ricerca full text in un unico sistema, MyScale riduce i costi di infrastruttura e manutenzione. Questa unificazione consente query e analisi congiunte dei dati e una base dati unica per le applicazioni AI. MyScale ha anche MyScale Telemetry per la piena osservabilità dei sistemi LLM, così puoi monitorare ed eseguire il debug in modo efficiente. Man mano che i dati diventano più complessi, MyScale è una soluzione a prova di futuro che può gestire nuove modalità di dati e dimensioni di database, mantenendo al contempo le prestazioni di calcolo e l’integrazione tra diversi tipi di dati.
Differenze chiave
Quando si tratta di strumenti di ricerca vettoriale, MongoDB Atlas Vector Search e MyScale sono due ottime opzioni. Confrontiamoli così puoi prendere una decisione informata per il tuo progetto.
Metodologia di ricerca
MongoDB 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 e consente ricerche Approximate Nearest Neighbor (ANN). Supporta anche ricerche Exact Nearest Neighbors (ENN) fino a 10.000 documenti.
MyScale dispone di più tipi di indici vettoriali e metriche di similarità. Supporta metriche di distanza comuni come la distanza euclidea (L2), il prodotto interno (IP) e la similarità del coseno. MyScale ha diversi algoritmi di indicizzazione: MSTG (Multi-Scale Tree Graph), ScaNN, IVFFLAT, IVFPQ, IVFSQ e HNSW. Questo ti offre un maggiore controllo sulle prestazioni e sull’accuratezza della ricerca.
Gestione dei dati
MongoDB Atlas Vector Search funziona con il modello di documenti flessibile di MongoDB. Puoi archiviare embedding vettoriali insieme ad altri dati del documento e cercare in modo più contestuale e preciso. Puoi interrogare qualsiasi dato che possa essere incorporato fino a 4096 dimensioni e combinare la ricerca per similarità vettoriale con il filtraggio dei documenti.
MyScale è progettato per gestire sia dati strutturati sia dati vettoriali. È progettato per analisi in tempo reale e carichi di lavoro di machine learning, quindi è adatto a serie temporali, ricerca vettoriale e ricerca full text. La capacità di MyScale di elaborare carichi di lavoro analitici sia di dati strutturati sia vettorializzati su un’unica piattaforma con architettura di database OLAP è unica.
Scalabilità e prestazioni
MongoDB Atlas ha Search Nodes che forniscono un’infrastruttura dedicata per i carichi di lavoro Atlas Search e Vector Search. Questo significa risorse di calcolo ottimizzate e scalabilità indipendente delle esigenze di ricerca per prestazioni migliori su larga scala.
MyScale è costruito su ClickHouse, la cui architettura è nota per le sue alte prestazioni e scalabilità. Il suo motore vettoriale proprietario MSTG utilizza SSD NVMe per aumentare la densità dei dati e potenzialmente supera i database vettoriali specializzati sia in termini di prestazioni sia di costi.
Flessibilità e personalizzazione
MongoDB Atlas Vector Search consente la ricerca ibrida, combinando la ricerca vettoriale con la ricerca full text per risultati più granulari. Consente anche di combinare la ricerca per similarità vettoriale con il filtraggio dei documenti per maggiore flessibilità nella costruzione delle query.
MyScale offre supporto SQL nativo, quindi gli sviluppatori possono integrare ricerca vettoriale, ricerca full text e query SQL tradizionali in un unico sistema. Questo approccio basato su SQL è più familiare e accessibile agli sviluppatori con esperienza in database relazionali.
Integrazione ed ecosistema
MongoDB Atlas Vector Search si integra con servizi e strumenti di IA popolari, supporta modelli di embedding di OpenAI e VoyageAI. Funziona con framework open-source come LangChain e LlamaIndex per creare applicazioni che utilizzano Large Language Models (LLMs).
L’integrazione di MyScale non è menzionata esplicitamente nella documentazione, ma il suo supporto SQL implica che possa integrarsi con molti strumenti e framework compatibili con SQL.
Facilità d’uso
MongoDB Atlas Vector Search si basa sull’ecosistema MongoDB esistente, quindi se hai già familiarità con MongoDB la curva di apprendimento sarà più dolce.
L’SQL di MyScale per interrogare dati vettoriali potrebbe essere più accessibile agli sviluppatori con esperienza SQL, ma la varietà di algoritmi e parametri di indicizzazione richiederà più apprendimento e ottimizzazione per ottenere le migliori prestazioni.
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.
L’approccio unificato di MyScale può ridurre i costi di infrastruttura e manutenzione avendo più funzionalità in un unico sistema. Il suo motore vettoriale MSTG dichiara di superare ed essere più conveniente rispetto ai database vettoriali specializzati.
Quando scegliere ciascuno
MongoDB Atlas Vector Search è la scelta migliore quando stai già utilizzando MongoDB per le tue esigenze di database e vuoi aggiungere la ricerca vettoriale senza introdurre un altro sistema. È perfetto per applicazioni che devono integrare senza problemi la ricerca vettoriale con i dati documentali, come sistemi di raccomandazione o ricerca avanzata di prodotti. La soluzione di MongoDB è ottima quando devi combinare la ricerca per similarità vettoriale con il filtraggio dei documenti, così puoi porre domande più contestuali. Scegli MongoDB Atlas Vector Search quando vuoi utilizzare l’ecosistema MongoDB, inclusi scalabilità e integrazione con strumenti AI popolari.
MyScale è la scelta migliore quando hai bisogno di un’unica piattaforma che combini database SQL, ricerca vettoriale e ricerca full-text. È perfetto per applicazioni che devono elaborare sia dati strutturati sia dati vettoriali in tempo reale, come analytics guidate dall’AI o analisi complesse di serie temporali con componenti vettoriali. Il supporto SQL nativo di MyScale lo rende un’ottima opzione per team con forti competenze SQL che vogliono eseguire ricerca vettoriale con un linguaggio di query familiare. Scegli MyScale quando hai bisogno di flessibilità negli algoritmi di indicizzazione vettoriale, vuoi ottimizzare costi e prestazioni su larga scala o hai bisogno di una soluzione in grado di gestire più tipi di dati e modalità di ricerca in un’unica piattaforma.
Conclusione
MongoDB Atlas Vector Search si integra perfettamente con la tua distribuzione MongoDB esistente, ha una potente ricerca vettoriale e può combinare la ricerca vettoriale con il filtraggio dei documenti. MyScale è un’unica piattaforma per SQL, ricerca vettoriale e full-text con indicizzazione flessibile e supporto SQL nativo per query vettoriali. La tua scelta tra questi dipenderà dalla tua infrastruttura esistente, dal tuo caso d’uso e dal tuo team. Considera fattori come l’integrazione con i dati documentali, le query basate su SQL, i tipi di dati con cui lavori e le esigenze di scalabilità. Entrambi hanno una ricerca vettoriale robusta, ma i loro punti di forza si adattano a scenari e ambienti di sviluppo diversi.
Leggi questo per ottenere una panoramica di MongoDB e MyScale, 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 i tuoi 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 database vettoriali autonomamente
VectorDBBench è uno strumento di benchmarking open-source per utenti che necessitano di sistemi di archiviazione e recupero 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) utilizzando 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 sotto la 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 funzionalità e prestazioni.
Scarica VectorDBBench dal suo repository GitHub per riprodurre i nostri risultati di benchmark o ottenere risultati di prestazioni sui tuoi dataset.
Dai una rapida occhiata alle prestazioni dei principali database vettoriali nella Leaderboard 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

Vector Lakebase: End the AI Data Silo
Learn how Vector Lakebase unifies vector search, data lakes, and AI data operations so teams can serve RAG and agents without copy-and-sync pipelines.

Zilliz Cloud Audit Logs Goes GA: Security, Compliance, and Transparency at Scale
Zilliz Cloud Audit Logs are now GA, giving enterprises real-time visibility, compliance-ready trails, and stronger security across AWS, GCP, and Azure.

Democratizing AI: Making Vector Search Powerful and Affordable
Zilliz democratizes AI vector search with Milvus 2.6 and Zilliz Cloud for powerful, affordable scalability, cutting costs in infrastructure, operations, and development.
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.


