OpenSearch vs MyScale : 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 : OpenSearch et MyScale. 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é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 OpenSearch et MyScale, 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 à haute dimension, qui sont des représentations numériques de données non structurées. Ces vecteurs encodent des informations complexes, telles que la signification 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 essentiel 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 les problèmes tels que 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écialement conçues 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 extensions de recherche vectorielle capables d’effectuer des recherches vectorielles à petite échelle.
OpenSearch est une suite open source de recherche et d’analyse avec la recherche vectorielle comme extension ; MyScale est une base de données construite sur ClickHouse qui combine recherche vectorielle et analyses SQL.
Qu’est-ce qu’OpenSearch ? Un aperçu
OpenSearch est une suite de recherche et d’analyse robuste et open source qui gère un large éventail de types de données, des données structurées et semi-structurées aux données non structurées. Lancée en 2021 en tant que fork communautaire d’Elasticsearch et Kibana, cette suite OpenSearch inclut le magasin de données et moteur de recherche OpenSearch, OpenSearch Dashboards pour la visualisation avancée des données, et Data Prepper pour une collecte efficace des données côté serveur.
Construit sur la base solide d’Apache Lucene, OpenSearch permet des recherches en texte intégral (recherche par mots-clés) hautement évolutives et efficaces, ce qui le rend idéal pour gérer de grands ensembles de données. Avec ses dernières versions, OpenSearch a considérablement élargi ses capacités de recherche pour inclure la recherche vectorielle grâce à des plugins supplémentaires, ce qui est essentiel pour créer des applications pilotées par l’IA. OpenSearch prend désormais en charge un éventail de méthodes de recherche alimentées par l’apprentissage automatique, notamment les recherches lexicales traditionnelles, les plus proches voisins (k-NN), la recherche sémantique, la recherche multimodale, la recherche neuronale sparse et les modèles de recherche hybride. Ces améliorations intègrent des modèles neuronaux directement dans le framework de recherche, permettant la génération d’embeddings à la volée et la recherche au moment de l’ingestion des données. Cette intégration rationalise non seulement les processus, mais améliore aussi nettement la pertinence et l’efficacité de la recherche.
Les mises à jour récentes ont encore fait progresser les fonctionnalités d’OpenSearch, en introduisant des fonctions telles que la recherche vectorielle optimisée pour le disque, la quantification binaire et l’encodage de vecteurs d’octets dans les recherches k-NN. Ces ajouts, ainsi que les améliorations du traitement des tâches d’apprentissage automatique et des performances des requêtes de recherche, réaffirment OpenSearch comme un outil de pointe pour les développeurs et les entreprises souhaitant exploiter pleinement leurs données. Soutenu par une communauté dynamique et collaborative, OpenSearch continue d’évoluer, offrant une plateforme complète, évolutive et adaptable de recherche et d’analyse qui se distingue comme un choix de premier plan pour les développeurs ayant besoin de capacités de recherche avancées dans leurs applications.
Qu’est-ce que MyScale ? Un aperçu
MyScale est une base de données basée sur le cloud construite au-dessus de la base de données open source ClickHouse, conçue pour les charges de travail d’IA et d’apprentissage automatique. Elle peut gérer les données structurées et vectorielles, ainsi que l’analytique en temps réel et l’apprentissage automatique. MyScale se concentre sur les séries temporelles, la recherche vectorielle et la recherche en texte intégral, ce qui en fait une bonne solution pour le traitement en temps réel et les insights pilotés par l’IA. En utilisant l’architecture ClickHouse, MyScale est performante et évolutive pour l’IA.
L’une des principales fonctionnalités de MyScale est la prise en charge native de SQL, qui simplifie les requêtes pilotées par l’IA en intégrant la recherche vectorielle, la recherche en texte intégral et les requêtes SQL traditionnelles dans un seul système. Cela réduit le besoin de plusieurs outils et la rend évolutive pour l’IA. MyScale prend en charge et gère le traitement analytique des données structurées et vectorisées sur une seule plateforme en utilisant une architecture de base de données OLAP pour opérer sur des données vectorisées. Les développeurs peuvent interagir avec MyScale en utilisant SQL, ce qui la rend accessible à tous les programmeurs familiers avec les bases de données relationnelles.
MyScale dispose de plusieurs types d’index vectoriels et de métriques de similarité pour prendre en charge différents cas d’usage. Elle prend en charge des métriques de distance courantes comme la distance euclidienne (L2), le produit interne (IP) et la similarité cosinus. La base de données dispose de plusieurs algorithmes d’indexation : MSTG (Multi-Scale Tree Graph), ScaNN, IVFFLAT, IVFPQ, IVFSQ et HNSW, chacun avec son propre ensemble de paramètres à ajuster. Le moteur vectoriel propriétaire MSTG de MyScale utilise des SSD NVMe pour augmenter la densité des données, de sorte qu’il surpasse les bases de données vectorielles spécialisées tant en performance qu’en coût.
En combinant les fonctionnalités d’une base de données SQL, d’une base de données vectorielle et d’un moteur de recherche en texte intégral dans un seul système, MyScale réduit les coûts d’infrastructure et de maintenance. Cette unification permet des requêtes et des analyses conjointes des données, ainsi qu’une base de données unique pour les applications d’IA. MyScale propose également MyScale Telemetry pour une observabilité complète des systèmes LLM, afin que vous puissiez surveiller et déboguer efficacement. À mesure que les données deviennent plus complexes, MyScale est une solution à l’épreuve du temps capable de gérer de nouvelles modalités de données et des tailles de bases de données plus importantes, tout en maintenant les performances de calcul et l’intégration entre différents types de données.
Comparaison d’OpenSearch et de MyScale pour GenAI
Méthodologie de recherche
OpenSearch repose sur Apache Lucene et a évolué pour inclure des fonctionnalités de recherche avancées comme la recherche vectorielle, la recherche sémantique et les modèles hybrides, ce qui le rend très adaptable aux applications pilotées par l’IA. Il intègre désormais des méthodes alimentées par l’apprentissage automatique pour la génération d’embeddings à la volée, améliorant la précision et la pertinence des résultats de recherche.
MyScale, basé sur l’architecture ClickHouse, offre également une capacité de recherche robuste, mais en mettant l’accent sur l’intégration de SQL avec les recherches vectorielles et en texte intégral. Cette intégration rend MyScale particulièrement adapté aux charges de travail d’IA et d’apprentissage automatique, en simplifiant les requêtes complexes sur divers types de données.
Gestion des données
OpenSearch gère un large éventail de types de données, notamment les données structurées, semi-structurées et non structurées, grâce à des fonctionnalités telles que la recherche vectorielle optimisée pour le disque et la quantification binaire. Sa flexibilité permet un traitement et un stockage efficaces de vastes ensembles de données.
MyScale se concentre sur les données structurées et vectorielles, en exploitant les capacités OLAP de ClickHouse pour traiter efficacement les données de séries temporelles, vectorielles et en texte intégral. Il prend en charge divers types d’index vectoriels et métriques de similarité, renforçant sa capacité à gérer les exigences de données propres à l’IA.
Évolutivité et performances
OpenSearch est conçu pour l’évolutivité, en gérant efficacement de grands ensembles de données dans des environnements distribués. Ses dernières mises à jour améliorent sa capacité à effectuer des recherches complexes sans sacrifier les performances.
MyScale met l’accent sur les performances et l’évolutivité dans les applications d’IA, en utilisant des algorithmes d’indexation avancés et des SSD NVMe pour améliorer la densité des données et la vitesse des requêtes. Il est conçu pour surpasser les bases de données vectorielles spécialisées, offrant une solution évolutive pour les insights modernes pilotés par l’IA.
Flexibilité et personnalisation
OpenSearch offre de nombreuses options de personnalisation grâce à ses plugins et à sa communauté dynamique, prenant en charge un large éventail d’applications et de scénarios d’intégration.
MyScale combine les fonctionnalités de recherche SQL, vectorielle et textuelle dans un seul système, réduisant le besoin de plusieurs outils et permettant une forte personnalisation des requêtes d’IA. Sa prise en charge de plusieurs algorithmes et paramètres d’indexation offre une flexibilité supplémentaire pour des cas d’utilisation spécifiques.
Intégration et écosystème
OpenSearch s’intègre à une variété d’outils et de frameworks, bénéficiant d’une communauté forte et collaborative qui stimule son évolution continue.
MyScale fournit des capacités d’intégration transparente en combinant différentes fonctionnalités de bases de données dans un seul système, facilitant la gestion et réduisant les coûts d’infrastructure. Il propose également de la télémétrie pour la surveillance et le débogage, améliorant l’observabilité du système.
Facilité d’utilisation
OpenSearch, avec ses fonctionnalités complètes, peut présenter une courbe d’apprentissage plus abrupte, bien qu’il soit soutenu par une documentation robuste et une communauté solidaire.
MyScale offre une interface SQL familière, le rendant accessible aux programmeurs habitués aux bases de données relationnelles, ce qui peut potentiellement abaisser la barrière à l’entrée pour le développement d’applications pilotées par l’IA.
Considérations relatives aux coûts
OpenSearch peut être rentable pour les déploiements autogérés, mais peut entraîner des coûts opérationnels plus élevés pour les configurations distribuées de grande envergure.
MyScale affirme réduire les coûts d’infrastructure et de maintenance en unifiant les bases de données SQL, vectorielles et textuelles dans un seul système, offrant une efficacité des coûts à grande échelle.
Fonctionnalités de sécurité
OpenSearch inclut des fonctionnalités de sécurité complètes telles que le chiffrement, le contrôle d’accès basé sur les rôles et la journalisation d’audit, adaptées aux applications d’entreprise sécurisées.
MyScale n’a pas fourni de détails sur la sécurité, mais compte tenu de son architecture avancée, il inclut probablement des mesures de sécurité de base telles que le chiffrement et le contrôle d’accès pour protéger les charges de travail d’IA et d’apprentissage automatique.
Cette comparaison reflète désormais fidèlement les capacités et les distinctions d’OpenSearch et de MyScale, offrant une perspective plus claire sur leur adéquation aux différents besoins applicatifs, en particulier dans les contextes d’IA et de machine learning.
Quand choisir Opensearch et MyScale pour la GenAI
Choisir OpenSearch lorsque :
- Besoins de recherche complexes sur divers types de données : Vous avez besoin de capacités de recherche avancées, notamment la recherche en texte intégral, la recherche sémantique et la recherche vectorielle, sur un mélange de données structurées, semi-structurées et non structurées.
- Analytique et visualisation en temps réel : Votre application bénéficie de l’intégration de la recherche avec l’analytique et les visualisations en temps réel, en utilisant OpenSearch Dashboards pour des insights de données interactifs.
- Opérations de recherche évolutives : Vous avez besoin d’une solution qui évolue efficacement pour gérer de grands ensembles de données tout en maintenant des performances élevées dans des environnements de calcul distribué.
- Fonctionnalités et support portés par la communauté : Vous accordez de l’importance à une communauté robuste et collaborative ainsi qu’à des améliorations continues portées par des contributions open source, garantissant que la plateforme évolue avec vos besoins.
Choisir MyScale lorsque :
- Charges de travail d’IA et de machine learning : Vous vous concentrez sur des applications qui utilisent fortement l’IA et le machine learning, en particulier lorsque l’intégration de SQL avec la recherche vectorielle et en texte intégral est cruciale.
- Solution de base de données unifiée : Vous préférez un système unifié qui combine les fonctionnalités d’une base de données SQL, d’une base de données vectorielle et d’un moteur de recherche en texte intégral, réduisant la complexité de la gestion de plusieurs systèmes.
- Exigences de haute performance pour de grands ensembles de données : Vous avez besoin d’une base de données optimisée pour les performances, en particulier pour les données de séries temporelles et vectorielles, en utilisant des algorithmes d’indexation avancés et des optimisations matérielles comme les SSD NVMe.
- Facilité d’utilisation avec SQL : Vous souhaitez une base de données accessible aux programmeurs familiarisés avec SQL, ce qui facilite le développement et la maintenance de requêtes pilotées par l’IA sans la courbe d’apprentissage abrupte associée aux systèmes plus complexes.
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 conçu pour les 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 les performances de différents systèmes de bases de données vectorielles tels que Milvus et Zilliz Cloud (le Milvus managé) en utilisant leurs propres ensembles de données, et de déterminer celui qui convient le mieux à leurs cas d’utilisation. En utilisant VectorDBBench, les utilisateurs peuvent prendre des décisions éclairées sur la base des performances réelles des bases de données vectorielles plutôt que de se fier à des affirmations marketing ou à des preuves anecdotiques.
VectorDBBench est écrit en Python et sous licence open source MIT, ce qui signifie que tout le monde 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 ensembles de données.
Jetez un rapide coup d’œil 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

Smarter Autoscaling in Zilliz Cloud: Always Optimized for Every Workload
With the latest upgrade, Zilliz Cloud introduces smarter autoscaling—a fully automated, more streamlined, elastic resource management system.

Our Journey to 35K+ GitHub Stars: The Real Story of Building Milvus from Scratch
Join us in celebrating Milvus, the vector database that hit 35.5K stars on GitHub. Discover our story and how we’re making AI solutions easier for developers.

OpenAI o1: What Developers Need to Know
In this article, we will talk about the o1 series from a developer's perspective, exploring how these models can be implemented for sophisticated use cases.
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.


