TiDB vs ClickHouse : 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 ClickHouse, 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 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 des 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é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.
TiDB est une base de données traditionnelle et ClickHouse est une base de données orientée colonnes open-source. Toutes deux disposent de la recherche vectorielle sous forme de module complémentaire. Cet article compare leurs capacités de recherche vectorielle.
TiDB : aperçu 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 transactionnel et analytique hybride (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 semblable à 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 reposent 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 en plus 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 mises 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 divers besoins de gestion des données.
ClickHouse : présentation et technologie de base
ClickHouse est une base de données OLAP en temps réel open source connue pour sa prise en charge complète de SQL et son traitement des requêtes à haute vitesse. Elle excelle dans la gestion des requêtes analytiques grâce à son pipeline de requêtes entièrement parallélisé, ce qui lui permet d’effectuer rapidement des opérations de recherche vectorielle. Ses niveaux élevés de compression, personnalisables via des codecs, permettent à ClickHouse de stocker et d’interroger efficacement de grands ensembles de données. L’un de ses principaux atouts est sa capacité à gérer des ensembles de données de plusieurs To sans être limitée par la mémoire, ce qui en fait un outil puissant pour les utilisateurs traitant des données vectorielles à grande échelle. Elle prend également en charge le filtrage et l’agrégation sur les métadonnées, permettant aux développeurs d’effectuer des requêtes complexes à la fois sur les vecteurs et sur leurs métadonnées associées.
ClickHouse intègre la fonctionnalité de recherche vectorielle grâce à ses capacités SQL, où les opérations de distance vectorielle sont traitées comme n’importe quelle autre fonction SQL. Cela permet une combinaison fluide avec le filtrage et l’agrégation traditionnels, ce qui la rend idéale pour les cas d’utilisation où les données vectorielles doivent être interrogées conjointement avec des métadonnées ou d’autres informations. De plus, des fonctionnalités expérimentales comme les indices Approximate Nearest Neighbour (ANN) offrent des capacités de correspondance plus rapides, bien qu’approximatives. ClickHouse prend également en charge la correspondance exacte via un balayage linéaire des lignes, son traitement parallélisé garantissant une vitesse et une efficacité élevées.
ClickHouse est une excellente option pour la recherche vectorielle lorsque la combinaison de la correspondance vectorielle avec le filtrage ou l’agrégation de métadonnées est importante. Elle est particulièrement utile pour de très grands ensembles de données vectorielles qui doivent être traités en parallèle sur plusieurs cœurs CPU. ClickHouse est également avantageuse lorsque la prise en charge de SQL est nécessaire et que l’ensemble de données vectorielles est trop volumineux pour s’appuyer sur des indices uniquement en mémoire. De plus, si vous disposez déjà de données connexes dans ClickHouse ou souhaitez éviter d’apprendre un autre outil pour gérer des millions de vecteurs, ClickHouse peut vous faire gagner à la fois du temps et des ressources. Ses points forts résident dans la correspondance exacte rapide et parallélisée et dans la gestion de grands ensembles de données, ce qui la rend adaptée aux utilisateurs ayant des exigences de recherche avancées.
ClickHouse se distingue comme une plateforme polyvalente pour la recherche vectorielle, en particulier lorsqu’il s’agit de grands ensembles de données nécessitant un traitement parallélisé et lorsqu’on combine des recherches vectorielles avec un filtrage et une agrégation basés sur SQL. Bien qu’elle ne soit peut-être pas aussi spécialisée pour les petits ensembles de données limités par la mémoire ou les scénarios à fort QPS que les bases de données vectorielles dédiées, sa capacité à gérer des requêtes complexes, y compris les métadonnées, en fait une option puissante pour les développeurs familiers avec SQL qui ont besoin de capacités de recherche vectorielle à haute vitesse.
Principales différences
Architecture de recherche
TiDB gère la recherche vectorielle via des plugins externes tout en conservant ses capacités HTAP. Il permet de combiner des requêtes vectorielles et relationnelles grâce à une syntaxe compatible avec MySQL.
ClickHouse implémente la recherche vectorielle directement dans son framework SQL, en traitant les opérations vectorielles comme des fonctions SQL standard. Elle utilise un pipeline de requêtes entièrement parallélisé, prenant en charge à la fois la correspondance exacte via des balayages linéaires et la correspondance approximative via des indices ANN.
Gestion des données
TiDB excelle dans les charges de travail hybrides, en gérant à la fois les données transactionnelles et analytiques avec l’auto-sharding. Il distribue automatiquement les données entre les nœuds tout en maintenant une forte cohérence.
ClickHouse se concentre sur les charges de travail analytiques avec des taux de compression élevés. Elle peut traiter des ensembles de données vectorielles de plusieurs To sans contraintes de mémoire, permettant un filtrage et une agrégation efficaces à la fois sur les vecteurs et les métadonnées.
Performance et évolutivité
TiDB évolue horizontalement grâce à son architecture distribuée, mais les performances de recherche vectorielle dépendent de la configuration de bibliothèques externes.
ClickHouse atteint des performances élevées grâce au traitement parallélisé sur les cœurs CPU. Il gère efficacement les requêtes vectorielles à grande échelle, en particulier lorsqu’elles sont combinées avec un filtrage des métadonnées.
Intégration
TiDB offre une compatibilité MySQL, ce qui le rend adapté aux environnements MySQL existants. La recherche vectorielle nécessite une configuration supplémentaire et des bibliothèques externes.
ClickHouse fournit une prise en charge SQL native des opérations vectorielles, permettant une intégration transparente de la recherche vectorielle avec les requêtes SQL traditionnelles.
Quand utiliser TiDB
TiDB est le meilleur choix lorsque vous avez besoin à la fois d’un traitement transactionnel et analytique dans un environnement compatible MySQL. Son architecture distribuée et ses capacités d’auto-sharding le rendent parfait pour les applications à grande échelle qui exigent une forte cohérence, en particulier celles qui sont déjà investies dans l’écosystème MySQL. TiDB fonctionne le mieux lorsque la recherche vectorielle fait partie d’une stratégie de données plus large qui inclut des opérations de base de données traditionnelles.
Quand utiliser ClickHouse
ClickHouse est idéal pour les organisations disposant d’ensembles de données vectorielles massifs qui ont besoin d’un traitement analytique à grande vitesse. Ses capacités natives de recherche vectorielle, combinées au traitement parallèle et à l’intégration SQL, le rendent parfait pour les data scientists et les ingénieurs qui doivent exécuter des requêtes complexes impliquant à la fois des opérations vectorielles et le filtrage des métadonnées. Il est particulièrement puissant lorsque l’optimisation de la mémoire et les performances des requêtes sont une priorité absolue.
Résumé
TiDB et ClickHouse répondent à des cas d’utilisation différents - TiDB est destiné au traitement hybride transactionnel-analytique avec compatibilité MySQL, ClickHouse est destiné au traitement analytique à grande vitesse et à la recherche vectorielle native. Choisissez en fonction de vos besoins : TiDB pour du SQL distribué avec la recherche vectorielle comme module complémentaire, ou ClickHouse pour un traitement analytique dédié avec le vectoriel intégré. Tenez compte de votre infrastructure existante, de la taille des données, des modèles de requêtes et des exigences de performance au moment de prendre votre décision.
Lisez ceci pour obtenir un aperçu de TiDB et ClickHouse, 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. En fin de compte, 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 hautes performances, en particulier des 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é) à l’aide de 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 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 à améliorer ses fonctionnalités et 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 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

How to Improve Retrieval Quality for Japanese Text with Sudachi, Milvus/Zilliz, and AWS Bedrock
Learn how Sudachi normalization and Milvus/Zilliz hybrid search improve Japanese RAG accuracy with BM25 + vector fusion, AWS Bedrock embeddings, and practical code examples.

Zilliz Cloud Delivers Better Performance and Lower Costs with Arm Neoverse-based AWS Graviton
Zilliz Cloud adopts Arm-based AWS Graviton3 CPUs to cut costs, speed up AI vector search, and power billion-scale RAG and semantic search workloads.

Proactive Monitoring for Vector Database: Zilliz Cloud Integrates with Datadog
we're excited to announce Zilliz Cloud's integration with Datadog, enabling comprehensive monitoring and observability for your vectorDB deployments.
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.


