Redis vs MyScale : choisir la bonne base de données vectorielle pour vos besoins
À mesure que l’IA et les technologies axées sur les données progressent, le choix d’une base de données vectorielle appropriée pour votre application devient de plus en plus important. Redis et MyScale sont deux options dans ce domaine. Cet article compare ces technologies afin de vous aider à prendre une décision éclairée pour votre projet.
Qu’est-ce qu’une base de données vectorielle ?
Avant de comparer Redis 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 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 d’un texte, les caractéristiques visuelles d’images ou les attributs de 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 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é) et Weaviate
- 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.
Redis est une base de données en mémoire et MyScale est une base de données traditionnelle. Toutes deux disposent de capacités de recherche vectorielle sous forme de module complémentaire. Cet article compare leurs capacités de recherche vectorielle.
Redis : présentation et technologie de base
Redis était à l’origine connu pour son stockage de données en mémoire et a ajouté des capacités de recherche vectorielle via la Redis Vector Library, qui fait désormais partie de Redis Stack. Cela permet à Redis d’effectuer une recherche de similarité vectorielle tout en conservant sa vitesse et ses performances.
La recherche vectorielle dans Redis repose sur son infrastructure existante, en utilisant le traitement en mémoire pour une exécution rapide des requêtes. Redis utilise les algorithmes FLAT et HNSW (Hierarchical Navigable Small World) pour la recherche approximative des plus proches voisins, ce qui permet une recherche rapide et précise dans des espaces vectoriels de grande dimension.
L’un des principaux atouts de la recherche vectorielle Redis est qu’elle peut combiner la recherche de similarité vectorielle avec le filtrage traditionnel sur d’autres attributs. Cette recherche hybride permet aux développeurs de créer des requêtes complexes qui prennent en compte à la fois la similarité sémantique et des critères de métadonnées spécifiques, ce qui la rend polyvalente pour de nombreuses applications basées sur l’IA.
La bibliothèque vectorielle Redis fournit une interface simple permettant aux développeurs de travailler avec des données vectorielles dans Redis. Elle propose des fonctionnalités telles qu’une conception de schéma flexible, des requêtes vectorielles personnalisées et des extensions pour les tâches liées aux LLM, comme la mise en cache sémantique et la gestion des sessions. Cela facilite l’intégration de Redis dans leur workflow d’IA par les ingénieurs IA/ML et les data scientists, en particulier pour le traitement et la récupération de données en temps réel.
MyScale : aperçu et technologie
MyScale est une base de données cloud construite sur la base de la base de données open source ClickHouse, conçue pour les charges de travail d’IA et de machine learning. Elle peut gérer des données structurées et vectorielles, ainsi que l’analytique en temps réel et le machine learning. MyScale est axée sur les séries temporelles, la recherche vectorielle et la recherche en texte intégral, ce qui la rend adaptée au traitement en temps réel et aux insights pilotés par l’IA. En utilisant l’architecture ClickHouse, MyScale offre de hautes performances et une grande évolutivité 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’utilisation. 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 propose 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, ce qui lui permet de surpasser les bases de données vectorielles spécialisées à la fois en performance et 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 analyses conjointes sur les données, ainsi qu’une fondation 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.
Principales différences
Redis vs MyScale : quel outil de recherche vectorielle vous convient le mieux
Lors du choix d’un outil de recherche vectorielle, les développeurs et les ingénieurs doivent prendre en compte de nombreux facteurs. Comparons Redis et MyScale selon les principaux critères pour vous aider à décider.
Méthodologie de recherche
Redis utilise FLAT et HNSW (Hierarchical Navigable Small World) pour la recherche approximative des plus proches voisins. Les deux sont rapides et précis dans les espaces à haute dimension. Redis prend également en charge la recherche hybride, combinant la similarité vectorielle avec le filtrage par attributs.
MyScale dispose de plusieurs types d’index vectoriels et de métriques de similarité. Elle prend en charge des métriques de distance courantes comme la distance euclidienne (L2), le produit interne (IP) et la similarité cosinus. MyScale propose plusieurs algorithmes d’indexation : MSTG (Multi-Scale Tree Graph), ScaNN, IVFFLAT, IVFPQ, IVFSQ et HNSW. Chaque algorithme dispose de paramètres ajustables pour un réglage fin selon des cas d’utilisation spécifiques.
Données
Redis est excellent pour les données en mémoire et dispose désormais de la recherche vectorielle via la bibliothèque vectorielle Redis. Il offre un schéma flexible et peut travailler avec des données structurées et non structurées.
MyScale est construit sur l’architecture ClickHouse et peut gérer des données structurées et vectorielles, des séries temporelles et la recherche en texte intégral. Il peut traiter des données structurées et vectorisées en temps réel en utilisant une architecture de base de données OLAP.
Évolutivité et performances
Redis est connu pour sa vitesse en mémoire, ce qui signifie une exécution rapide des requêtes pour la recherche vectorielle. Son architecture permet de faire évoluer les opérations de recherche vectorielle.
MyScale utilise l’architecture haute performance de ClickHouse et est conçu pour les charges de travail d’IA et d’apprentissage automatique. Il utilise des SSD NVMe pour augmenter la densité des données et potentiellement surpasser les bases de données vectorielles spécialisées en performance et en coût.
Flexibilité et personnalisation
Redis dispose d’une interface simple pour les données vectorielles et permet des requêtes vectorielles personnalisées. Il possède également des extensions pour les tâches liées aux LLM, comme la mise en cache sémantique et la gestion des sessions.
MyScale dispose de SQL natif, ce qui permet d’avoir une recherche vectorielle intégrée, une recherche en texte intégral et des requêtes SQL traditionnelles dans un seul système. Cette flexibilité permet d’avoir des requêtes complexes qui combinent différents types de données et méthodes de recherche.
Intégration et écosystème
Redis dispose d’un grand écosystème et s’intègre bien à de nombreux outils et frameworks. La Vector Library fait partie de Redis Stack, c’est donc un bon choix pour les projets utilisant déjà Redis.
MyScale est une base de données SQL, une base de données vectorielle et un moteur de recherche en texte intégral en un seul produit. Cette approche unifiée peut simplifier l’infrastructure et réduire le besoin de plusieurs outils dans les applications pilotées par l’IA.
Facilité d’utilisation
Redis est connu pour être convivial pour les développeurs, avec une bonne documentation et une configuration facile. La Vector Library étend cela aux opérations de recherche vectorielle.
MyScale utilise la syntaxe SQL, il est donc familier aux développeurs ayant de l’expérience avec les bases de données relationnelles. Mais il possède de nombreuses fonctionnalités et algorithmes, il peut donc nécessiter une courbe d’apprentissage plus raide pour être utilisé de manière optimale.
Coût
Redis est rentable pour les petits ensembles de données qui tiennent en mémoire. Pour les ensembles de données plus volumineux, les coûts augmenteront à mesure que davantage de mémoire sera nécessaire.
MyScale utilise des SSD NVMe et son approche unifiée peut être rentable pour le big data, en réduisant potentiellement les coûts d’infrastructure et de maintenance.
Sécurité
Redis dispose de diverses fonctionnalités de sécurité : contrôle d’accès, chiffrement, options d’authentification.
MyScale, étant construit sur ClickHouse, dispose probablement de fonctionnalités de sécurité similaires, mais cela doit être vérifié auprès du fournisseur.
Quand choisir chacun
Redis est idéal pour les projets qui nécessitent un traitement en mémoire à grande vitesse et une recherche vectorielle en temps réel. Il est excellent pour les applications qui nécessitent une faible latence, comme les systèmes de recommandation, la détection de fraude en temps réel ou la recherche d’images basée sur le contenu. Redis est parfait pour les scénarios où les données tiennent en mémoire et où vous devez combiner la recherche de similarité vectorielle avec le filtrage par attributs. C’est également un bon choix si vous utilisez déjà Redis dans votre stack et souhaitez ajouter la recherche vectorielle sans introduire une nouvelle base de données.
MyScale est préférable pour les projets qui nécessitent une recherche SQL, vectorielle et en texte intégral intégrée, en particulier pour les charges de travail d’IA et d’apprentissage automatique à grande échelle. Il convient aux applications qui doivent traiter et analyser à la fois des données structurées et non structurées en temps réel, comme les plateformes d’analytique avancée, les moteurs de recherche complexes ou les outils de business intelligence pilotés par l’IA. La capacité de MyScale à gérer les données de séries temporelles parallèlement à la recherche vectorielle le rend excellent pour les applications qui doivent analyser des tendances dans le temps tout en effectuant également des recherches de similarité. Son interface basée sur SQL est également adaptée aux équipes possédant de solides compétences en SQL.
Conclusion
Redis offre une recherche vectorielle en mémoire à grande vitesse et peut combiner similarité vectorielle et filtrage par attributs. Il est connu pour sa simplicité, son vaste écosystème et ses excellentes performances pour les ensembles de données en mémoire. MyScale est une plateforme unifiée pour la recherche SQL, vectorielle et en texte intégral, avec une forte évolutivité pour les charges de travail d’IA et de ML à grande échelle. Il peut gérer divers types de données et des requêtes complexes. Choisissez entre Redis et MyScale en fonction de votre cas d’utilisation, du volume de données, de la complexité des requêtes et de l’infrastructure existante. Tenez compte de la taille de votre ensemble de données, du besoin d’intégration SQL, de l’expertise de votre équipe et des exigences en temps réel de votre application. Les deux disposent de capacités de recherche vectorielle, mais leurs points forts répondent à différents types de projets et d’exigences.
Bien que cet article fournisse un aperçu de Redis et de MyScale, il est essentiel d’évaluer ces bases de données en fonction de votre cas d’utilisation spécifique. Un outil qui peut vous aider dans ce processus est VectorDBBench, un outil de benchmarking open source conçu pour comparer les performances des bases de données vectorielles. En fin de compte, un benchmarking approfondi avec des jeux de données et des modèles de requêtes spécifiques sera essentiel pour prendre une décision éclairée entre ces deux approches puissantes, mais distinctes, 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 conçu pour les utilisateurs qui ont besoin de systèmes de stockage et de récupération de données hautes performances, en particulier des 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 jeux de données et de déterminer celui qui convient le mieux à leurs cas d’utilisation. Avec VectorDBBench, les utilisateurs peuvent prendre des décisions éclairées fondées sur les performances réelles des bases de données vectorielles plutôt que de s’appuyer sur des affirmations marketing ou des témoignages anecdotiques.
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 benchmarking ou obtenir des résultats de performance sur vos propres jeux 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 le ML
Continuer à lire

Vector Databases vs. Key-Value Databases
Use a vector database for AI-powered similarity search; use a key-value database for high-throughput, low-latency simple data lookups.

Introducing DeepSearcher: A Local Open Source Deep Research
In contrast to OpenAI’s Deep Research, this example ran locally, using only open-source models and tools like Milvus and LangChain.

Zilliz Cloud BYOC Upgrades: Bring Enterprise-Grade Security, Networking Isolation, and More
Discover how Zilliz Cloud BYOC brings enterprise-grade security, networking isolation, and infrastructure automation to vector database deployments in AWS
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.


