📖

Qu'est-ce que Vector Database ?

Une base de données vectorielle stocke et indexe des vecteurs d'embedding de haute dimension issus de modèles de ML, permettant une recherche par similarité rapide pour des applications d'IA comme le RAG et la recherche sémantique.

Une base de données vectorielle est un système de stockage spécialisé conçu pour gérer des vecteurs de haute dimension, ces tableaux numériques comportant généralement des centaines ou des milliers de nombres à virgule flottante que les modèles de machine learning utilisent pour représenter un sens. Mots, phrases, images, extraits audio et comportements utilisateurs peuvent tous être encodés sous forme de vecteurs, et une base de données vectorielle permet de stocker des milliards de ces embeddings et de trouver les correspondances les plus proches d'une nouvelle requête en quelques millisecondes.

Comment fonctionne une base de données vectorielle

Lorsqu'un modèle de ML, comme un grand modèle de langage ou un encodeur de vision, produit un embedding, ce vecteur est envoyé à la base de données accompagné d'une référence à l'élément d'origine : un texte, un fichier image, une fiche produit, etc. La base de données construit un index à l'aide d'un algorithme de recherche approximative des plus proches voisins (ANN) tel que HNSW (Hierarchical Navigable Small World) ou IVF (Inverted File Index), des structures qui sacrifient une petite part d'exactitude en échange de requêtes nettement plus rapides sur de grands jeux de données. Au moment de la recherche, l'application envoie un nouvel embedding en tant que requête, et l'index renvoie les k vecteurs les plus proches, classés selon une métrique de similarité, généralement la similarité cosinus, le produit scalaire ou la distance euclidienne.

Pourquoi c'est important

La recherche par mots-clés classique ne peut pas deviner que « compagnon félin » et « chat domestique » signifient à peu près la même chose, mais leurs embeddings se retrouvent proches dans l'espace vectoriel : une base de données vectorielle les fait donc remonter comme correspondances. C'est cette capacité qui sous-tend la recherche sémantique moderne, les moteurs de recommandation, la recherche d'images et de contenus audio, la détection d'anomalies, ainsi que l'étape de récupération en Retrieval-Augmented Generation (RAG), où un LLM est ancré dans des documents extraits d'un store vectoriel. Sans indexation dédiée, comparer une requête à des millions de vecteurs un par un serait bien trop lent pour un trafic en production.

Principaux types et exemples

  • Bases de données vectorielles dédiées : des moteurs conçus de toutes pièces autour d'index ANN, comme Milvus, Qdrant, Weaviate et Pinecone.
  • Bibliothèques de recherche vectorielle : des moteurs légers comme FAISS et Annoy qui s'exécutent au sein d'une application plutôt qu'en tant que service autonome.
  • Bases de données hybrides : des magasins classiques comme PostgreSQL (via pgvector), Elasticsearch et MongoDB, qui ajoutent l'indexation vectorielle à des fonctionnalités documentaires ou relationnelles existantes.
  • Services cloud managés : des offres hébergées proposées par les grands fournisseurs de cloud, qui intègrent la recherche vectorielle à des plateformes de données plus larges.

Le choix entre ces options dépend généralement de l'échelle, des exigences de latence, du fait que les données cohabitent ou non avec des enregistrements structurés, et de la charge opérationnelle qu'une équipe est prête à assumer. Les systèmes les plus performants du domaine sont évalués sur des benchmarks comme le classement ANN-Benchmarks, qui compare le rappel au nombre de requêtes par seconde sur des jeux de données représentatifs.

Frequently Asked Questions

How is a vector database different from a traditional relational database?
A relational database stores rows and columns and is queried with exact filters and joins, while a vector database stores high-dimensional embedding vectors and is queried by similarity. Relational engines are optimized for transactional workloads; vector databases are optimized for nearest-neighbor search over dense numeric data.
Do I need a vector database to build a RAG system?
In practice, yes. Retrieval-Augmented Generation requires fetching relevant documents for a query in real time, and a vector database provides the fast similarity search that makes this feasible at scale. Some teams prototype with simple in-memory search, but production RAG systems almost always use a dedicated vector store or a hybrid database with vector indexing.
What is approximate nearest neighbor (ANN) search?
ANN search is a family of algorithms that trade a small amount of accuracy for large gains in speed when finding the closest vectors to a query. Methods such as HNSW graph indexes and IVF clustering can return results that are very close to the true nearest neighbors while running orders of magnitude faster than brute-force comparison.
How large can vector databases scale?
Production vector databases routinely index hundreds of millions to billions of vectors across multiple machines. Sharding, replication, and disk-backed indexes allow systems to grow well beyond the memory of a single server while keeping query latency low.