Vector database
Base de données optimisée pour stocker et chercher des embeddings par similarité sémantique.
Définition complète
Une base vectorielle (vector database) stocke des embeddings — des vecteurs de plusieurs centaines de dimensions — et permet de retrouver très rapidement les plus proches d'un vecteur de requête. C'est le composant essentiel de tout système RAG.
Problème qu'elle résout : avec 1 million de documents transformés en embeddings, faire une recherche par similarité "naïve" (calculer la distance entre la requête et chaque doc) prendrait plusieurs secondes. Une base vectorielle utilise des structures d'index (HNSW, IVF) qui répondent en quelques millisecondes — au prix d'une approximation contrôlée (recherche "approximate nearest neighbor").
Les principales options en 2026 :
**Cloud propriétaires** : - **Pinecone** : leader, très simple à utiliser, scalable - **Weaviate** : open-source, peut être self-hosted ou managed - **Qdrant** : open-source, performant, Rust - **Milvus** : open-source, conçu pour la très grande échelle
**Solutions intégrées** : - **pgvector** : extension PostgreSQL — la plus pratique si tu as déjà du Postgres (Supabase, Neon) - **Redis** avec module vector - **Elasticsearch** avec vector fields
**Embedded** (pour prototypes) : - **Chroma** : très simple, in-process Python - **LanceDB** : embedded, performant, supporte des datasets énormes
Quel choisir ? Pour 90% des projets : commencer avec pgvector si tu as Postgres, ou Chroma pour un prototype. Passer à Pinecone/Qdrant si tu dépasses 10M de vecteurs ou as besoin de très hautes performances. Pas la peine de sur-architecturer dès le début.
Approfondir
Tu veux maîtriser Vector database en pratique ?
Le module "RAG — l'IA qui connaît tes propres documents" couvre vector database en profondeur, avec démonstrations interactives et exercices.
Découvrir le module →