L’évolution et l’avenir des bases de données vectorielles : perspectives de Charles, PDG de Zilliz
Voici le premier volet de notre série de blog en deux parties sur l’évolution et l’avenir des bases de données vectorielles et de l’IA.
Les bases de données vectorielles sont apparues comme une innovation essentielle dans le domaine en évolution rapide de la science des données et de l’intelligence artificielle, sous l’effet de l’essor des données complexes et non structurées et de la montée en puissance des grands modèles de langage (LLMs). Ce nouveau type de base de données joue un rôle central dans la gestion et l’interrogation sémantique des données non structurées au moyen d’embeddings vectoriels, modernisant l’accessibilité et l’analyse des données, et répondant aux exigences des applications d’IA de nouvelle génération. Guidé par les analyses de Charles, PDG de Zilliz, ce blog examine l’évolution, les dynamiques actuelles et la trajectoire future des bases de données vectorielles.
Qu’est-ce qu’une base de données vectorielle ?
Une base de données vectorielle est une infrastructure de données de pointe conçue pour gérer et interroger des données non structurées telles que des images, des vidéos et des langues naturelles. Nous pouvons utiliser des algorithmes de deep learning pour transformer les données non structurées en un nouveau format de données appelé embeddings vectoriels. Ensuite, nous stockons ces embeddings dans une base de données vectorielle, ce qui nous permet d’effectuer des requêtes sémantiques sur ces données. Cette capacité est puissante car, contrairement aux recherches traditionnelles basées sur des mots-clés, elle nous permet d’explorer la sémantique des données non structurées, offrant une expérience de recherche plus nuancée et plus riche en contexte.
Les développeurs utilisent largement les bases de données vectorielles pour créer des systèmes de recommandation intelligents et personnalisés, des chatbots alimentés par l’IA et la recherche sémantique. Avec l’essor des LLMs, les bases de données vectorielles sont devenues un composant d’infrastructure clé de la génération augmentée par récupération (RAG), fournissant aux LLMs des connaissances supplémentaires comme contexte de requête pour générer des réponses très pertinentes.
Le paysage actuel des bases de données vectorielles
Actuellement, le marché compte de nombreuses « bases de données vectorielles », notamment des bases de données vectorielles spécialement conçues comme Milvus, des bases de données traditionnelles avec un plugin de recherche vectorielle comme Elasticsearch, des bases de données vectorielles légères comme Chroma, et de nombreuses autres technologies dotées de capacités de recherche vectorielle comme FAISS. Même s’il existe de nombreux types de bases de données vectorielles, elles ne se valent pas toutes.
Technologies de recherche vectorielle
Certaines adoptent des approches similaires aux systèmes embarqués, comme Chroma, qui se distingue comme un leader à cet égard. Son avantage réside dans son empreinte minimale, ce qui rend sa configuration et le lancement des opérations exceptionnellement simples pour les utilisateurs. Cependant, comme SQLite, Chroma n’est pas un système de base de données complet mais une bibliothèque d’exécution. Par conséquent, il ne prend pas en charge des fonctionnalités essentielles comme la persistance des données, la récupération des données et, notamment, la scalabilité.
Les bases de données comme PGVector et Pinecone ont adopté une approche de montée en puissance. Lorsqu’elles sont déployées sur des processeurs plus avancés, elles atteignent des performances supérieures au sein d’une instance à nœud unique, inspirant une confiance à court terme dans leurs capacités. Cependant, la montée en puissance présente des limites, principalement dues aux contraintes physiques imposées par une machine à nœud unique. Pinecone, par exemple, prend en charge un nombre substantiel de pods, mais est limité par les appels CPU sur une architecture x86 unique. Opter pour les dernières architectures CPU, plus coûteuses, est nécessaire pour dépasser ces limites.
Un autre inconvénient du modèle de montée en puissance est le risque d’un point de défaillance unique. En cas de défaillance d’un nœud, toutes les données associées à ce nœud seront perdues. En revanche, une architecture distribuée inhérente à l’approche d’extension horizontale permet une réplication efficace des données et des mécanismes de basculement. Dans le pire des scénarios, avec la perte d’un nœud dans un système distribué comptant, par exemple, 16 nœuds, seule une fraction (1/16) des données est compromise. La récupération de cette plus petite portion de données est plus gérable et plus rapide, minimisant le risque de perte totale de données.
Comment avons-nous construit la base de données vectorielle Milvus ?
Avant d’explorer notre parcours de création de Milvus, examinons l’essence des systèmes de bases de données. De manière générale, un système de base de données complet comprend une couche de stockage, un format de stockage spécifié, une couche d’orchestration des données responsable du placement ou de la mise en cache des données aux emplacements appropriés, un optimiseur de requêtes et un moteur d’exécution efficace. Le moteur d’exécution et l’optimiseur de requêtes doivent être flexibles afin de s’adapter et d’optimiser pour un plus large éventail d’infrastructures matérielles, compte tenu de la prolifération des architectures hétérogènes au cours de la dernière décennie. Cette flexibilité repose sur divers processeurs sous-jacents, allant des CPU modernes aux processeurs ARM, aux GPU et à toute une gamme d’accélérateurs conçus explicitement pour les applications d’IA. Une telle intégration permet d’élaborer des plans d’exécution optimaux qui exploitent les forces uniques de chaque type de processeur, améliorant ainsi considérablement l’efficacité et les performances de l’exécution des requêtes.
Alors, quelle est notre philosophie pour construire le système de base de données vectorielle Milvus ?
Adopter le calcul hétérogène
Depuis sa création, Milvus s’est pleinement engagé dans le calcul hétérogène, démontrant sa polyvalence et ses hautes performances sur divers processeurs modernes. Il prend en charge différents matériels, des CPU Intel et AMD aux processeurs ARM et aux GPU Nvidia. Les capacités d’intégration de Milvus couvrent les tâches de traitement vectoriel en IA, de l’algèbre linéaire de base aux calculs complexes basés sur des graphes. Cette compatibilité est cruciale, car chaque type de processeur possède un jeu d’instructions, une architecture de cache et un modèle d’exécution uniques. Adapter les algorithmes et optimiser le moteur d’exécution pour correspondre à ces caractéristiques distinctes maximise les performances et l’efficacité.
Prendre en charge à la fois la scalabilité verticale et horizontale
À mesure que les volumes de données continuent de croître, la scalabilité devient une préoccupation critique. Nous avons conçu le système Milvus pour relever ce défi grâce à une scalabilité à la fois verticale (montée en puissance) et horizontale (extension horizontale). Cette capacité implique le développement de divers algorithmes distribués pour faciliter l’extension horizontale, ainsi que l’adoption de stratégies robustes pour la cohérence, la synchronisation, la réplication et la récupération des données en cas de défaillances système inattendues.
Offrir une expérience développeur fluide, du prototypage à la production
Nous proposons une suite de modes de déploiement Milvus pour répondre aux besoins uniques des différentes étapes du développement : Milvus Lite pour le prototypage rapide, Milvus Standalone pour les applications à plus petite échelle, Milvus Cluster pour la scalabilité horizontale, et Zilliz Cloud (le Milvus entièrement géré) pour la facilité de gestion. En plus de maintenir notre position de leader du marché des bases de données vectorielles hautes performances, nous nous engageons à améliorer l’expérience des développeurs IA qui découvrent la recherche. Nous mettrons bientôt à niveau Milvus Lite vers un mode de déploiement encore plus convivial pour les débutants et facile à utiliser.
La philosophie centrale est simple : implémentez le code côté client une seule fois et utilisez-le à n’importe quelle étape du développement de votre application avec des instances Milvus adaptées, du prototypage dans un notebook Jupyter à un service de production desservant des milliards de documents, partout où la recherche vectorielle est nécessaire.
Pour un guide détaillé sur le choix parmi les quatre différentes versions de Milvus, consultez ce blog sur la version de Milvus avec laquelle commencer.
Comment choisir la bonne base de données vectorielle pour votre entreprise ?
Lorsque vous envisagez de passer à une base de données vectorielle, deux aspects principaux doivent être évalués :
Premièrement, évaluez si les performances de la recherche vectorielle sont essentielles pour votre entreprise. Par exemple, si vous créez une solution de génération augmentée par récupération (RAG) qui sert des millions d’utilisateurs quotidiennement et qui est au cœur de votre activité, les performances du calcul vectoriel deviennent primordiales. Dans un tel cas, il est recommandé d’opter pour un système de base de données purement vectoriel. Une base de données vectorielle spécialisée comme Zilliz Cloud garantit non seulement des performances constantes et optimales, mais s’aligne également sur vos exigences de SLA, offrant une tranquillité d’esprit pour les services critiques où les performances ne sont pas négociables.
Deuxièmement, tenez compte de la croissance prévue du volume de données au fil du temps. À mesure que votre service fonctionne sur une période prolongée, le volume de vos ensembles de données augmente, faisant de l’optimisation des coûts une préoccupation inévitable dans votre prise de décision. La plupart des systèmes de bases de données purement vectorielles du marché offrent des performances supérieures tout en nécessitant moins de ressources, ce qui les rend très rentables. Dans ce contexte, Milvus se démarque, affichant une rentabilité plus de 100 fois supérieure à celle d’alternatives telles que PG Vector, OpenSearch et d’autres solutions de bases de données web non natives.
En plus des facteurs ci-dessus, les performances, la scalabilité et les fonctionnalités figurent parmi les principales métriques pour évaluer une base de données vectorielle. Pour un guide plus détaillé sur l’évaluation des bases de données vectorielles, consultez ce blog de benchmarking
Quand une base de données vectorielle distribuée à grande échelle est-elle inutile ?
Une base de données vectorielle complète pourrait être excessive pour les développeurs et les organisations travaillant sur des prototypes ou testant des solutions RAG. Ils pourraient se contenter d’une base de données vectorielle légère fonctionnant localement. Afin d’offrir aux utilisateurs une expérience plus optimale, Milvus prendra davantage en charge le déploiement local, adapté à une configuration plus rapide durant les premières étapes du développement.
Notre engagement s’étend à la fourniture d’une expérience unifiée pour les développeurs, quelle que soit l’échelle ou la complexité de leur projet. Que vous essayiez la stack IA sur votre ordinateur portable ou que vous recherchiez une solution de recherche vectorielle évolutive et prête pour la production, Milvus garantit un parcours fluide. À mesure que vous passez du prototype à la production, vous pouvez facilement migrer vers un déploiement Docker et Kubernetes pour bénéficier de performances et d’une personnalisation supérieures grâce à son architecture distribuée, ainsi que d’interfaces SDK et API cohérentes. Sur cette voie bien balisée, vous n’avez besoin d’écrire votre programme qu’une seule fois, et il peut s’exécuter de manière transparente dans divers environnements, des ordinateurs portables aux centres de données et aux clouds publics. Nous visons à donner aux développeurs les moyens d’agir à chaque étape, en offrant de la flexibilité sans compromettre l’expérience utilisateur.
Quel est l’avenir des bases de données vectorielles ?
Nous avons observé une expansion des fonctionnalités offertes par les systèmes de bases de données vectorielles. Ces dernières années, ces systèmes se concentraient principalement sur une seule fonctionnalité : la recherche approximative du plus proche voisin (recherche ANN). Cependant, le paysage évolue, et au cours des deux prochaines années, nous verrons un éventail plus large de fonctionnalités.
Traditionnellement, les bases de données vectorielles prenaient en charge la recherche basée sur la similarité. Désormais, elles étendent leurs capacités pour inclure la recherche ou la correspondance exacte. Cette polyvalence vous permet d’analyser vos données à travers deux prismes : une recherche de similarité pour une compréhension plus large et une recherche exacte pour les nuances. En combinant ces deux approches, les utilisateurs peuvent ajuster l’équilibre entre l’obtention d’une vue d’ensemble et l’exploration de détails spécifiques.
Obtenir une esquisse des données peut être suffisant dans certaines situations, et une recherche basée sur la sémantique fonctionne bien. Cependant, dans les situations où de minuscules différences comptent, les utilisateurs peuvent zoomer sur les données et examiner chaque entrée afin d’en déceler les caractéristiques subtiles.
Les bases de données vectorielles prendront probablement en charge des charges de travail supplémentaires de calcul vectoriel, telles que le clustering et la classification vectoriels. Ces fonctionnalités ne sont pas de simples ajouts, mais sont particulièrement pertinentes et percutantes dans des applications comme la détection de fraude et la détection d’anomalies. Ici, des techniques d’apprentissage non supervisé peuvent être appliquées pour regrouper ou classer des embeddings vectoriels, identifier des motifs communs et potentiellement prévenir des pertes importantes.
Dans la prochaine partie de cette série de blog, je partagerai mes réflexions sur l’évolution des technologies d’IA et la manière dont elles influencent l’avenir des bases de données vectorielles. Restez à l’écoute !
Continuer à lire

Introducing Loon: A New Storage Engine for Vector Data That Never Stops Changing
Loon is a new storage engine for Milvus 3.0 and Zilliz Vector Lakebase, built to manage evolving vector datasets with ColumnGroups, row ID alignment, and Manifests.

Why Teams Are Migrating from Weaviate to Zilliz Cloud — and How to Do It Seamlessly
Explore how Milvus scales for large datasets and complex queries with advanced features, and discover how to migrate from Weaviate to Zilliz Cloud.

Selecting the Right ETL Tools for Unstructured Data to Prepare for AI
Learn the right ETL tools for unstructured data to power AI. Explore key challenges, tool comparisons, and integrations with Milvus for vector search.



