MongoDB vs Rockset : 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 majeures dotées de capacités de recherche vectorielle : MongoDB et Rockset. 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 récupération 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écider 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 vs Rockset, 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, telles que le sens sémantique du 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 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 des modules complémentaires de recherche vectorielle capables d’effectuer des recherches vectorielles à petite échelle.
MongoDB est une base de données NoSQL et Rockset est une base de données de recherche et d’analytique ; toutes deux proposent la recherche vectorielle comme module complémentaire. 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 les données stockées dans MongoDB Atlas. Vous pouvez indexer et interroger des vector embeddings de grande dimension avec vos données documentaires et faire de l’IA et du machine learning directement dans la base de données.
Au cœur de son fonctionnement, 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 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 aux performances pour les requêtes portant sur jusqu’à 10 000 documents.
L’un des grands avantages d’Atlas Vector Search est son intégration avec le modèle documentaire 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 par similarité vectorielle avec un filtrage documentaire traditionnel. 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 est axé sur la recherche basée sur les mots-clés. La plateforme s’intègre à des services et outils d’IA populaires afin que vous puissiez l’utiliser avec des modèles d’embedding de fournisseurs comme OpenAI, VoyageAI et de nombreux autres répertoriés sur Hugging Face. Elle prend également en charge des frameworks open source comme LangChain et LlamaIndex pour créer des applications utilisant 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 disposant de 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 séparée, vous pouvez utiliser l’évolutivité et les fonctionnalités riches de MongoDB avec la recherche vectorielle.
Rockset : aperçu et technologie de base
Rockset est une base de données de recherche et d’analytique en temps réel pour les données structurées et non structurées, y compris les embeddings vectoriels. Son point fort est l’ingestion, l’indexation et l’interrogation des données en temps réel, ce qui en fait un excellent choix pour les applications nécessitant des informations à la seconde près. Rockset prend en charge l’ingestion de données en streaming et par lots, peut traiter des flux d’événements à haute vélocité et des flux de capture des changements de données (CDC) en 1 à 2 secondes.
L’une des fonctionnalités clés de Rockset est Converged Indexing, construit sur RocksDB mutable. Cela permet des mises à jour sur place des vecteurs et des métadonnées, ce qui est extrêmement efficace pour les scénarios où les données changent fréquemment. Rockset peut gérer des documents jusqu’à 40 MB et prend en charge une dimensionnalité vectorielle jusqu’à 200 000, ce qui le rend adapté à un large éventail de cas d’utilisation d’embeddings vectoriels.
Rockset intègre la recherche vectorielle au cœur du système. Il prend en charge les méthodes de recherche K-Nearest Neighbors (KNN) et Approximate Nearest Neighbors (ANN), et utilise un index FAISS distribué pour l’évolutivité. Rockset est agnostique en matière d’algorithme, vous pouvez donc choisir votre propre implémentation de recherche. L’optimiseur basé sur les coûts peut choisir dynamiquement entre les méthodes de recherche KNN et ANN pour des performances optimales.
Ce qui distingue Rockset pour la recherche vectorielle, c’est le Converged Index, qui combine les index de recherche, ANN, en colonnes et en lignes en un seul. Cela signifie que vous pouvez gérer un large éventail de modèles de requêtes dès le départ. Rockset prend également en charge le filtrage des métadonnées et la recherche hybride. L’optimiseur choisira le chemin de requête le plus efficace. Peut effectuer des recherches sur plusieurs champs ANN, prend en charge les modèles multimodaux et dispose à la fois d’API SQL et REST pour l’interface de requête.
Principales différences
Lorsque vous choisissez entre MongoDB Atlas Vector Search et Rockset pour la recherche vectorielle, vous devez connaître les différences afin de prendre une décision éclairée. Comparons ces deux solutions selon plusieurs domaines clés :
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. Il prend en charge les recherches Approximate Nearest Neighbor (ANN) et Exact Nearest Neighbors (ENN).
Rockset propose des méthodes de recherche K-Nearest Neighbors (KNN) et Approximate Nearest Neighbors (ANN). Il dispose d’un index FAISS distribué pour l’évolutivité et est agnostique en matière d’algorithme, vous pouvez donc choisir votre propre implémentation de recherche.
Données
MongoDB Atlas Vector Search s’intègre au modèle documentaire flexible de MongoDB afin que vous puissiez stocker des embeddings vectoriels aux côtés d’autres données de document. Cela permet une recherche plus contextuelle et précise, avec une prise en charge allant jusqu’à 4096 dimensions.
Rockset peut gérer des données structurées et non structurées, y compris des embeddings vectoriels. Il peut gérer des documents jusqu’à 40MB et une dimensionnalité vectorielle allant jusqu’à 200,000, ce qui le rend adapté à de nombreux cas d’utilisation.
Évolutivité et performances
MongoDB Atlas dispose de Search Nodes dédiés pour les charges de travail Search et Vector Search, afin que vous puissiez faire évoluer la recherche indépendamment et optimiser les performances à grande échelle.
Rockset dispose d’un Converged Index qui combine la recherche, ANN, les index en colonnes et en lignes en un seul, afin de pouvoir gérer de nombreux modèles de requêtes. Il est conçu pour l’ingestion, l’indexation et l’interrogation des données en temps réel.
Flexibilité et personnalisation
MongoDB Atlas Vector Search vous permet de combiner des recherches de similarité vectorielle avec le filtrage de documents et prend en charge la recherche hybride, combinant la recherche vectorielle avec la recherche en texte intégral.
Rockset vous donne la flexibilité de choisir votre propre implémentation de recherche et prend en charge le filtrage des métadonnées et la recherche hybride. Son optimiseur basé sur les coûts peut choisir pour vous entre les méthodes de recherche KNN et ANN.
Intégration et écosystème
MongoDB Atlas Vector Search s’intègre aux services et outils d’IA populaires, prend en charge les modèles d’embedding d’OpenAI et de VoyageAI et fonctionne avec des frameworks open-source comme LangChain et LlamaIndex.
Rockset dispose à la fois d’API SQL et REST pour l’interrogation, mais les informations ne précisent pas les intégrations de l’écosystème.
Facilité d’utilisation
MongoDB Atlas Vector Search s’appuie sur l’écosystème MongoDB existant, donc de nombreux développeurs le connaîtront déjà. C’est une solution complète au sein de la plateforme MongoDB, ce qui peut simplifier le processus de développement.
La prise en charge de SQL par Rockset le rend plus familier aux utilisateurs de bases de données SQL.
Coût
MongoDB dispose d’un écosystème établi, d’une documentation abondante et les développeurs le connaissent bien. Si vous utilisez déjà MongoDB, ajouter la recherche vectorielle peut être une évidence.
La tarification de Rockset est basée sur le calcul et le stockage. Bien que plus flexible, elle peut nécessiter davantage de gestion des ressources pour optimiser les coûts.
Quand utiliser chacun
MongoDB Atlas Vector Search est un bon choix lorsque vous utilisez déjà MongoDB pour le stockage de vos données et que vous souhaitez ajouter la recherche vectorielle sans introduire un nouveau système. Il est idéal pour les applications qui nécessitent que la recherche vectorielle soit intégrée de manière transparente à l’interrogation de documents, comme les systèmes de recommandation de contenu ou la recherche sémantique sur les plateformes d’e-commerce. Vous pouvez stocker des embeddings vectoriels aux côtés d’autres données de document, ce qui le rend parfait pour les scénarios où le contexte est important, et il prend en charge la recherche hybride pour des résultats plus granulaires.
Rockset est idéal pour les cas d’utilisation qui nécessitent des analyses en temps réel et une recherche sur des données qui changent rapidement. Son Converged Indexing est parfait pour les applications qui doivent ingérer, indexer et interroger des flux de données à haute vélocité avec une faible latence. Rockset prend en charge des vecteurs de très haute dimensionnalité (jusqu’à 200,000 dimensions), ce qui le rend adapté aux applications avancées de machine learning ou aux scénarios complexes de recherche de similarité. Si votre cas d’utilisation implique des mises à jour fréquentes des données vectorielles ou nécessite des insights en temps réel à partir de sources de données en streaming, alors Rockset pourrait être le meilleur choix.
Résumé
MongoDB Atlas Vector Search utilise les forces du modèle documentaire de MongoDB et son évolutivité pour offrir une plateforme unique pour la recherche traditionnelle et la recherche vectorielle. Il est intégré à des services d’IA populaires et prend en charge la recherche hybride, ce qui en fait un excellent choix pour les développeurs qui font déjà partie de l’écosystème MongoDB. Rockset est excellent pour l’analytique en temps réel et la recherche vectorielle à haute dimension grâce à son approche d’indexation unique permettant d’interroger rapidement des données qui changent vite. Le choix entre ces deux solutions dépend en fin de compte de votre cas d’utilisation. Tenez compte de votre infrastructure existante, de la nature de vos données (statiques ou évoluant rapidement), de la dimensionnalité de vos embeddings vectoriels et de l’importance de l’analytique en temps réel dans votre application. Les deux offrent une recherche vectorielle puissante, mais leurs forces correspondent à des cas d’utilisation et à des besoins de gestion des données différents.
Lisez ceci pour obtenir un aperçu de MongoDB et Rockset, 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 vous-même les bases de données vectorielles
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 hautes performances, 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 géré) 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 fondé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 publié 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 déterminés à améliorer ses fonctionnalités et ses performances.
Téléchargez VectorDBBench depuis son référentiel 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
Stop Building AI Data Infra for the Wrong Stage
Learn how AI data infrastructure should evolve from prototype to enterprise scale, and when Vector Lakebase becomes the right architecture for AI apps.

Announcing the General Availability of Single Sign-On (SSO) on Zilliz Cloud
SSO is GA on Zilliz Cloud, delivering the enterprise-grade identity management capabilities your teams need to deploy vectorDB with confidence.

What is the K-Nearest Neighbors (KNN) Algorithm in Machine Learning?
KNN is a supervised machine learning technique and algorithm for classification and regression. This post is the ultimate guide to KNN.
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.


