MongoDB vs Vald : choisir la bonne base de données pour les applications GenAI
À mesure que les applications pilotées par l’IA évoluent, l’importance des capacités de recherche vectorielle pour soutenir ces avancées ne saurait être surestimée. Cet article de blog abordera deux bases de données importantes dotées de capacités de recherche vectorielle : MongoDB et Vald. Chacune offre des capacités robustes pour gérer la recherche vectorielle, une fonctionnalité essentielle pour des applications telles que les moteurs de recommandation, la recherche d’images et la recherche sémantique. Notre objectif est de fournir aux développeurs et aux ingénieurs une comparaison claire, afin de les aider à déterminer quelle base de données correspond le mieux à leurs exigences spécifiques.
Qu’est-ce qu’une base de données vectorielle ?
Avant de comparer MongoDB et Vald, explorons d’abord le concept de bases de données vectorielles.
Une base de données vectorielle est spécifiquement conçue pour stocker et interroger des vecteurs de grande dimension, qui sont des représentations numériques de données non structurées. Ces vecteurs encodent des informations complexes, comme la signification sémantique d’un texte, les caractéristiques visuelles des images ou les attributs des produits. En permettant des recherches de similarité efficaces, les bases de données vectorielles jouent un rôle central dans les applications d’IA, permettant une analyse et une récupération des données plus avancées.
Les cas d’utilisation courants des bases de données vectorielles incluent les recommandations de produits en e-commerce, les plateformes de découverte de contenu, la détection d’anomalies en cybersécurité, l’analyse d’images médicales et les tâches de traitement du langage naturel (NLP). Elles jouent également un rôle crucial dans la génération augmentée par récupération (RAG), une technique qui améliore les performances des grands modèles de langage (LLMs) en fournissant des connaissances externes afin de réduire des problèmes comme les hallucinations de l’IA.
Il existe de nombreux types de bases de données vectorielles disponibles sur le marché, notamment :
- Bases de données vectorielles spécialisées telles que Milvus, Zilliz Cloud (Milvus entièrement géré)
- Bibliothèques de recherche vectorielle telles que Faiss et Annoy.
- Bases de données vectorielles légères telles que Chroma et Milvus Lite.
- Bases de données traditionnelles avec extensions de recherche vectorielle capables d’effectuer des recherches vectorielles à petite échelle.
MongoDB est une base de données NoSQL avec la recherche vectorielle comme extension. Vald est une base de données vectorielle spécialisée. Cet article compare leurs capacités de recherche vectorielle.
MongoDB : les bases
MongoDB Atlas Vector Search est une fonctionnalité qui vous permet d’effectuer des recherches de similarité vectorielle sur des données stockées dans MongoDB Atlas. Vous pouvez indexer et interroger des embeddings vectoriels de grande dimension avec vos données de documents et réaliser de l’IA et du machine learning directement dans la base de données.
À la base, Atlas Vector Search utilise l’algorithme Hierarchical Navigable Small World (HNSW) pour indexer et rechercher des données vectorielles. Cela crée un graphe multiniveau de l’espace vectoriel, afin que vous puissiez effectuer des recherches Approximate Nearest Neighbor (ANN). C’est un équilibre entre vitesse et précision pour la recherche vectorielle à grande échelle. Atlas Vector Search prend également en charge les recherches Exact Nearest Neighbors (ENN), qui privilégient la précision par rapport aux performances pour des requêtes allant jusqu’à 10 000 documents.
L’un des grands avantages d’Atlas Vector Search est son intégration avec le modèle de document flexible de MongoDB. Vous pouvez stocker des embeddings vectoriels avec d’autres données de document afin de pouvoir effectuer des recherches de manière plus contextuelle et précise. Vous pouvez interroger tout type de données pouvant être intégré jusqu’à 4096 dimensions. Atlas Vector Search vous permet de combiner des recherches de similarité vectorielle avec le filtrage traditionnel de documents. Par exemple, une recherche sémantique de produits pourrait être filtrée par catégorie, fourchette de prix ou disponibilité.
Atlas Vector Search prend également en charge la recherche hybride, combinant la recherche vectorielle avec la recherche en texte intégral pour des résultats plus granulaires. Cela diffère d’Atlas Search, qui se concentre sur la recherche basée sur les mots-clés. La plateforme s’intègre aux services et outils d’IA populaires afin que vous puissiez l’utiliser avec des modèles d’embeddings de fournisseurs comme OpenAI, VoyageAI et de nombreux autres répertoriés sur Hugging Face. Elle prend également en charge les frameworks open source comme LangChain et LlamaIndex pour créer des applications qui utilisent de grands modèles de langage (LLMs).
Pour garantir l’évolutivité et les performances, MongoDB Atlas fournit des Search Nodes, qui offrent une infrastructure dédiée aux charges de travail Atlas Search et Vector Search. Cela vous permet de disposer de ressources de calcul optimisées et d’une mise à l’échelle indépendante des besoins de recherche, afin d’obtenir de meilleures performances à grande échelle.
En ayant ces capacités dans l’écosystème MongoDB, Atlas Vector Search est une solution complète pour les développeurs qui créent des applications alimentées par l’IA, des systèmes de recommandation ou des fonctionnalités de recherche avancées. Pas besoin d’une base de données vectorielle distincte, vous pouvez utiliser l’évolutivité et les riches fonctionnalités de MongoDB avec la recherche vectorielle.
Vald : Les bases
Vald est un outil puissant pour effectuer très rapidement des recherches dans d’énormes quantités de données vectorielles. Il est conçu pour gérer des milliards de vecteurs et peut facilement évoluer à mesure que vos besoins augmentent. Ce qui est intéressant avec Vald, c’est qu’il utilise un algorithme ultrarapide appelé NGT pour trouver des vecteurs similaires.
L’une des meilleures fonctionnalités de Vald est sa manière de gérer l’indexation. Habituellement, lorsque vous créez un index, tout doit s’arrêter. Mais Vald est intelligent : il répartit l’index sur différentes machines, de sorte que les recherches peuvent continuer même pendant que l’index est mis à jour. De plus, Vald sauvegarde automatiquement vos données d’index, vous n’avez donc pas à vous inquiéter de tout perdre si quelque chose tourne mal.
Vald s’intègre très bien dans différentes configurations. Vous pouvez personnaliser la manière dont les données entrent et sortent, ce qui le rend compatible avec gRPC. Il est également conçu pour fonctionner sans problème dans le cloud, afin que vous puissiez facilement ajouter davantage de puissance de calcul ou de mémoire lorsque vous en avez besoin. Vald répartit vos données sur plusieurs machines, ce qui l’aide à gérer d’énormes quantités d’informations.
Une autre astuce intéressante de Vald est la réplication d’index. Il stocke des copies de chaque index sur différentes machines. Cela signifie que si une machine rencontre un problème, vos recherches peuvent toujours fonctionner correctement. Vald équilibre automatiquement ces copies, vous n’avez donc pas à vous en soucier. Tout cela fait de Vald un choix solide pour les développeurs qui doivent rechercher rapidement et de manière fiable dans d’immenses volumes de données vectorielles.
Principales différences
Lorsque vous choisissez entre MongoDB Atlas Vector Search et Vald pour vos besoins de recherche vectorielle, vous devez comprendre les différences. Les deux offrent une gestion puissante des données vectorielles, mais ont des approches et des forces différentes. Comparons-les sur plusieurs domaines clés pour vous aider à prendre une décision.
Méthodologie de recherche
MongoDB Atlas Vector Search utilise l’algorithme Hierarchical Navigable Small World (HNSW) pour l’indexation et la recherche de données vectorielles. Cela crée un graphe multi-niveaux de l’espace vectoriel pour les recherches Approximate Nearest Neighbor (ANN). Il prend également en charge les recherches Exact Nearest Neighbors (ENN) pour les jeux de données plus petits.
Vald utilise l’algorithme NGT pour des recherches rapides de similarité vectorielle. Celui-ci est conçu pour gérer des milliards de vecteurs.
Gestion des données
MongoDB intègre la recherche vectorielle à son modèle de document flexible. Vous pouvez stocker des embeddings vectoriels aux côtés d’autres données de document et effectuer des recherches plus contextuelles et précises. Vous pouvez combiner les recherches par similarité vectorielle avec le filtrage de documents et même effectuer des recherches hybrides qui fusionnent la recherche vectorielle et la recherche en texte intégral.
Vald se concentre sur les données vectorielles et est conçu pour en gérer des quantités massives. Bien qu’il n’offre peut-être pas la même flexibilité que MongoDB pour les données non vectorielles, sa recherche vectorielle pure est imbattable.
Scalabilité et performances
MongoDB Atlas dispose de Search Nodes dédiés pour les charges de travail de Vector Search, afin que vous puissiez faire évoluer les ressources de recherche indépendamment de vos besoins en données et en recherche.
Vald est conçu dès le départ pour être scalable. Il répartit l’indexation sur plusieurs machines, ce qui vous permet d’effectuer des recherches pendant les mises à jour de l’index. L’architecture distribuée de Vald peut gérer des milliards de vecteurs et évoluer horizontalement selon les besoins.
Flexibilité et personnalisation
Le modèle de document de MongoDB est très flexible en matière de modélisation et d’interrogation des données. Vous pouvez stocker et interroger des vecteurs jusqu’à 4096 dimensions et combiner les recherches vectorielles avec d’autres types de requêtes.
Vald propose des options de personnalisation pour l’entrée et la sortie des données ainsi qu’un bon support gRPC. Bien qu’il n’offre peut-être pas la même flexibilité de modélisation des données que MongoDB, sa recherche vectorielle pure est imbattable.
Intégration et écosystème
MongoDB Atlas Vector Search s’intègre à l’écosystème MongoDB plus large. Il fonctionne bien avec les services et outils d’IA populaires, notamment les modèles d’embedding d’OpenAI et des frameworks comme LangChain et LlamaIndex.
Vald est conçu pour fonctionner dans le cloud et peut s’intégrer à d’autres systèmes via ses gestionnaires de données. Mais il n’a peut-être pas un écosystème aussi vaste que MongoDB.
Facilité d’utilisation
MongoDB dispose d’une documentation complète et d’une grande communauté, ce qui le rend plus facile à apprendre et à utiliser. Si vous connaissez déjà MongoDB, ajouter la recherche vectorielle peut être une évidence.
Vald est puissant mais peut avoir une courbe d’apprentissage plus raide, surtout si vous débutez avec les bases de données vectorielles. Mais il est axé sur la recherche vectorielle, donc il pourrait être plus simple pour votre cas d’usage.
Coût
MongoDB Atlas est un service géré, il simplifie donc les opérations mais peut coûter plus cher. La tarification varie selon votre utilisation et vos exigences.
Vald est open source, il est donc moins coûteux, mais vous devrez prendre en compte le coût d’exécution et de maintenance de l’infrastructure vous-même.
Sécurité
MongoDB Atlas offre des fonctionnalités de sécurité robustes, notamment le chiffrement, l’authentification et un contrôle d’accès granulaire, qui s’étendent à la recherche vectorielle.
La sécurité de Vald dépend de votre implémentation et de l’infrastructure que vous mettez en place autour de lui.
Quand utiliser chacun
Utilisez MongoDB Atlas Vector Search lorsque vous avez besoin d’une solution qui combine la recherche vectorielle avec les bases de données documentaires. C’est idéal pour les applications qui nécessitent des recherches contextuelles où vous devez prendre en compte à la fois la similarité vectorielle et d’autres attributs du document. MongoDB est adapté lorsque vous avez des types de données mixtes, que vous devez effectuer des recherches hybrides ou que vous souhaitez tirer parti de l’ensemble de l’écosystème MongoDB. Utilisez MongoDB lorsque vous créez des applications alimentées par l’IA, des systèmes de recommandation ou des fonctionnalités de recherche avancées qui doivent fonctionner avec vos données MongoDB existantes.
Vald est le choix à privilégier lorsque votre exigence principale est une recherche vectorielle haute performance à grande échelle. Il est idéal pour les applications qui ont des milliards de vecteurs et nécessitent des recherches de similarité rapides et efficaces. Vald est adapté lorsque vous avez besoin d’une indexation continue sans interrompre les opérations de recherche, ou lorsque vous avez besoin d’un système capable d’évoluer horizontalement sur plusieurs machines. Utilisez Vald lorsque vous créez des moteurs de recherche d’images ou de vidéos à grande échelle, des systèmes de recommandation de contenu ou toute application où les performances de la recherche vectorielle pure sont la priorité absolue.
Conclusion
MongoDB Atlas Vector Search est une solution complète qui combine la recherche vectorielle avec une base de données documentaire flexible, un écosystème riche et des options de recherche hybride. Vald est une solution de recherche vectorielle haute performance pour une échelle massive et une indexation continue. Votre choix entre ces deux options doit être basé sur votre cas d’utilisation, le type de données avec lesquelles vous travaillez et vos exigences de performance. Si vous avez besoin d’une base de données capable de gérer à la fois des données vectorielles et non vectorielles avec un solide support d’écosystème, MongoDB pourrait être la voie à suivre. Si vous vous concentrez sur une recherche vectorielle à grande vitesse à grande échelle et que vous êtes à l’aise avec la gestion de votre propre infrastructure, Vald pourrait être le meilleur choix. Tenez compte de votre stack technologique existante, de l’expertise de votre équipe et de vos besoins futurs en matière de scalabilité lorsque vous décidez.
Lisez ceci pour obtenir un aperçu de MongoDB et de Vald, mais pour les évaluer, vous devez le faire en fonction de votre cas d’utilisation. Un outil qui peut vous y aider est VectorDBBench, un outil de benchmarking open-source pour la comparaison de bases de données vectorielles. Au final, un benchmarking approfondi avec vos propres jeux de données et modèles de requêtes sera essentiel pour prendre une décision entre ces deux approches puissantes mais différentes de la recherche vectorielle dans les systèmes de bases de données distribuées.
Utiliser VectorDBBench open-source pour évaluer et comparer les bases de données vectorielles par vous-même
VectorDBBench est un outil de benchmarking open-source destiné aux utilisateurs qui ont besoin de systèmes de stockage et de récupération de données haute performance, en particulier de bases de données vectorielles. Cet outil permet aux utilisateurs de tester et de comparer différents systèmes de bases de données vectorielles comme Milvus et Zilliz Cloud (le Milvus managé) en utilisant leurs propres jeux de données et de trouver celui qui correspond à leurs cas d’utilisation. Avec VectorDBBench, les utilisateurs peuvent prendre des décisions basées sur les performances réelles des bases de données vectorielles plutôt que sur des affirmations marketing ou des ouï-dire.
VectorDBBench est écrit en Python et sous licence open-source MIT, ce qui signifie que chacun peut l’utiliser, le modifier et le distribuer librement. L’outil est activement maintenu par une communauté de développeurs engagés dans l’amélioration de ses fonctionnalités et de ses performances.
Téléchargez VectorDBBench depuis son dépôt GitHub pour reproduire nos résultats de benchmark ou obtenir des résultats de performance sur vos propres jeux de données.
Jetez un coup d’œil rapide aux performances des bases de données vectorielles grand public sur le classement VectorDBBench.
Lisez les blogs suivants pour en savoir plus sur l’évaluation des bases de données vectorielles.
Ressources supplémentaires sur VectorDB, GenAI et ML
Continuer à lire

Zilliz Cloud Now Available in Azure North Europe: Bringing AI-Powered Vector Search Closer to European Customers
The addition of the Azure North Europe (Ireland) region further expands our global footprint to better serve our European customers.

Zilliz Cloud Enterprise Vector Search Powers High-Performance AI on AWS
Zilliz Cloud on AWS powers secure, scalable, ultra-fast vector search for enterprise AI apps, with BYOC, sub-10ms latency, and zero-DevOps simplicity.

DeepSeek-VL2: Mixture-of-Experts Vision-Language Models for Advanced Multimodal Understanding
Explore DeepSeek-VL2, the open-source MoE vision-language model. Discover its architecture, efficient training pipeline, and top-tier performance.
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.


