TiDB vs Aerospike : choisir la bonne base de données vectorielle pour vos applications d’IA
Qu’est-ce qu’une base de données vectorielle ?
Avant de comparer TiDB et Aerospike, 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 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 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 essentiel dans les applications d’IA, en permettant une analyse et une récupération de 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 extensions de recherche vectorielle capables d’effectuer des recherches vectorielles à petite échelle.
TiDB est une base de données traditionnelle et Aerospike est également une base de données NoSQL distribuée et évolutive. Toutes deux disposent de la recherche vectorielle sous forme d’extension.Cet article compare leurs capacités de recherche vectorielle.
TiDB : Vue d’ensemble et technologie de base
TiDB, développée par PingCAP, est une base de données SQL distribuée open source qui offre des capacités de traitement hybride transactionnel et analytique (HTAP). Elle est compatible avec MySQL, ce qui facilite son adoption par les équipes déjà familières avec l’écosystème MySQL. L’architecture SQL distribuée de TiDB offre une évolutivité horizontale similaire à celle des bases de données NoSQL tout en conservant le modèle relationnel des bases de données SQL, ce qui la rend très flexible pour gérer à la fois les charges de travail transactionnelles et analytiques.
L’une des principales forces de TiDB est son architecture HTAP, qui lui permet de traiter les charges de travail transactionnelles (OLTP) et analytiques (OLAP) dans une seule base de données, réduisant ainsi le besoin de systèmes distincts. De plus, la compatibilité de TiDB avec MySQL facilite son intégration dans les environnements existants qui s’appuient sur MySQL sans modifications importantes du code applicatif. La base de données propose également l’auto-sharding, qui distribue automatiquement les données entre les nœuds afin d’améliorer les performances de lecture et d’écriture tout en maintenant une forte cohérence.
TiDB prend en charge la recherche vectorielle grâce à l’intégration avec des bibliothèques et plugins externes, permettant une gestion et une interrogation efficaces des données vectorisées. Cette fonctionnalité, combinée à l’architecture HTAP de TiDB, en fait une option polyvalente pour les entreprises ayant besoin de capacités de recherche vectorielle parallèlement à des charges de travail transactionnelles et analytiques. L’architecture distribuée de TiDB lui permet de gérer des requêtes vectorielles à grande échelle une fois les configurations nécessaires en place.
Bien que l’inclusion de fonctionnalités de recherche vectorielle dans TiDB nécessite une configuration supplémentaire, la compatibilité SQL du système permet aux développeurs de combiner la recherche vectorielle avec des requêtes relationnelles traditionnelles. Cette flexibilité rend TiDB adapté aux applications complexes qui nécessitent à la fois des capacités de recherche vectorielle et de base de données relationnelle, offrant une solution complète pour des besoins variés de gestion des données.
Aerospike : présentation et technologie de base
Aerospike est une base de données NoSQL destinée aux applications en temps réel hautes performances. Elle a ajouté la prise en charge de l’indexation et de la recherche vectorielles, ce qui la rend adaptée aux cas d’utilisation de bases de données vectorielles. La capacité vectorielle s’appelle Aerospike Vector Search (AVS) et est en version Preview. Vous pouvez demander un accès anticipé auprès d’Aerospike.
AVS ne prend en charge que les index Hierarchical Navigable Small World (HNSW) pour la recherche vectorielle. Lorsque des mises à jour ou des insertions sont effectuées dans AVS, les données d’enregistrement, y compris le vecteur, sont écrites dans Aerospike Database (ASDB) et sont immédiatement visibles. Pour l’indexation, chaque enregistrement doit avoir au moins un vecteur dans le champ vectoriel spécifié d’un index. Vous pouvez avoir plusieurs vecteurs et index pour un seul enregistrement, ce qui vous permet de rechercher les mêmes données de différentes manières. Aerospike recommande d’attribuer les enregistrements insérés ou mis à jour à un ensemble spécifique afin de pouvoir les surveiller et opérer dessus.
AVS dispose d’une manière unique de construire l’index : elle est concurrente sur tous les nœuds AVS. Alors que les mises à jour des enregistrements vectoriels sont écrites directement dans ASDB, les enregistrements d’index sont traités de manière asynchrone à partir d’une file d’indexation. Cela se fait par lots et est distribué sur tous les nœuds AVS, ce qui utilise tous les cœurs CPU du cluster AVS et est évolutif. Les performances d’ingestion dépendent fortement de la mémoire de l’hôte et de la configuration de la couche de stockage.
Pour chaque élément de la file d’indexation, AVS traite le vecteur pour l’indexation, construit les clusters pour chaque vecteur et les valide dans ASDB. Un enregistrement d’index contient une copie du vecteur lui-même et les clusters de ce vecteur à une couche donnée du graphe HNSW. L’indexation utilise des extensions vectorielles (AVX) pour le traitement parallèle à instruction unique, données multiples.
AVS exécute des requêtes pendant l’ingestion pour « pré-hydrater » le cache d’index, car les enregistrements dans les clusters sont interconnectés. Ces requêtes ne sont pas comptabilisées comme des demandes de requête, mais apparaissent comme des lectures au niveau de la couche de stockage. De cette façon, le cache est alimenté avec des données pertinentes et peut améliorer les performances des requêtes. Cela montre comment AVS gère les données vectorielles et construit des index pour la recherche de similarité afin de pouvoir évoluer pour les recherches vectorielles en haute dimension.
Principales différences
TiDB propose la recherche vectorielle via des intégrations externes et conserve son cœur comme une base de données SQL distribuée avec des capacités HTAP. Elle est compatible avec MySQL et combine la recherche vectorielle avec des requêtes relationnelles traditionnelles.
Aerospike adopte une approche plus spécialisée avec Aerospike Vector Search (AVS), qui utilise uniquement l’indexation HNSW. Elle permet la construction concurrente d’index sur plusieurs nœuds et utilise des extensions vectorielles pour le traitement parallèle.
Méthodologie de recherche :
TiDB intègre la recherche vectorielle via des plugins ; les requêtes SQL et vectorielles peuvent fonctionner ensemble. Aerospike utilise uniquement des index HNSW, avec des files d’indexation asynchrones pour de meilleures performances.
Données :
TiDB gère les charges de travail transactionnelles et analytiques avec un partitionnement automatique. Aerospike traite les données vectorielles de manière asynchrone, avec une visibilité immédiate des mises à jour pendant que les enregistrements d’index sont traités par lots.
Évolutivité :
TiDB distribue automatiquement les données sur les nœuds et maintient la cohérence. L’indexation distribuée d’Aerospike utilise tous les cœurs CPU du cluster et évolue en fonction de la mémoire de l’hôte et du stockage.
Intégration :
TiDB s’intègre aux environnements MySQL et prend en charge à la fois les opérations SQL et vectorielles. AVS d’Aerospike est davantage axé sur la recherche vectorielle, mais s’intègre étroitement à la base de données Aerospike principale.
Quand choisir TiDB
TiDB est idéal pour les applications d’entreprise qui nécessitent à la fois des opérations de base de données traditionnelles et une recherche vectorielle, en particulier dans les environnements MySQL. Son architecture HTAP est parfaite pour les organisations qui ont des charges de travail mixtes - des transactions régulières aux analyses complexes - et qui ont besoin de recherche vectorielle. La compatibilité avec MySQL signifie que les équipes existantes peuvent l’adopter avec un minimum de changements dans leurs applications et leurs workflows.
Quand choisir Aerospike
Aerospike est idéal pour les applications où la recherche vectorielle haute performance est la priorité absolue, en particulier en temps réel. Son système AVS, avec construction d’index concurrente et optimisation du traitement vectoriel, est parfait pour les applications qui nécessitent une recherche rapide de similarité vectorielle à grande échelle, comme les moteurs de recommandation, les systèmes de reconnaissance d’images ou d’autres applications alimentées par l’IA qui privilégient la vitesse de recherche par rapport aux opérations de base de données traditionnelles.
Conclusion
TiDB et Aerospike répondent à différents cas d’utilisation dans l’espace de la recherche vectorielle. TiDB est une base de données complète avec des capacités vectorielles, parfaite pour les entreprises qui ont besoin à la fois d’opérations de base de données traditionnelles et de recherche vectorielle. Aerospike est une recherche vectorielle haute performance avec une indexation optimisée, parfaite pour les applications spécialisées de recherche vectorielle. Choisissez ce dont vous avez besoin, une base de données complète avec recherche vectorielle (TiDB) ou une solution spécialisée de recherche vectorielle (Aerospike).
Lisez ceci pour obtenir un aperçu de TiDB et d’Aerospike, 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 comparer les 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 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 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 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 rapide coup d’œil aux performances des principales bases de données vectorielles 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

DeepSeek-OCR Explained: Optical Compression for Scalable Long-Context and RAG Systems
Discover how DeepSeek-OCR uses visual tokens and Contexts Optical Compression to boost long-context LLM efficiency and reshape RAG performance.

1 Table = 1000 Words? Foundation Models for Tabular Data
TableGPT2 automates tabular data insights, overcoming schema variability, while Milvus accelerates vector search for efficient, scalable decision-making.

DeepRAG: Thinking to Retrieval Step by Step for Large Language Models
Discover DeepRAG, an advanced retrieval-augmented generation (RAG) model that improves LLM accuracy by retrieving only essential data through step-by-step reasoning.
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.


