Bases Vectorielles : Architecture, Indexation et Guide Complet
Temps de lecture : 22 minutes | Niveau : Intermédiaire à Avancé | Dernière mise à jour : Janvier 2025
1. Qu'est-ce qu'une Base Vectorielle ?
1.1. Définition Formelle
Définition
Une base de données vectorielle (vector database) est un système de stockage spécialisé conçu pour indexer, stocker et interroger efficacement des vecteurs de haute dimension (embeddings), en permettant des recherches par similarité sémantique en temps quasi-réel sur des millions à des milliards de vecteurs.
Contrairement aux bases de données traditionnelles qui recherchent des correspondances exactes (ex: WHERE email = 'user@example.com'
), les bases vectorielles effectuent des recherches approximatives basées sur la distance géométrique entre vecteurs dans un espace multidimensionnel.
1.2. Contexte d'Émergence (2020-2025)
L'explosion des bases vectorielles est directement liée à trois révolutions technologiques simultanées :
- Explosion des LLMs : ChatGPT (Nov 2022) popularise le besoin de systèmes RAG nécessitant des recherches vectorielles massives
- Qualité des embeddings : Modèles comme text-embedding-ada-002 (OpenAI, 2022) et BGE (2023) atteignent 85%+ de précision sur benchmarks MTEB
- Démocratisation de l'IA : Passage de projets R&D à production industrielle avec des milliards de requêtes/jour
Chiffres Clés du Marché (2024-2025)
- Pinecone : 10 000+ entreprises clientes, Series C de $100M (2023)
- Qdrant : 50 000+ déploiements GitHub, valorisation $150M
- Weaviate : Series B de $50M, 7M+ téléchargements
- Marché global : Prévu $4.3B en 2028 (CAGR 29%)
1.3. Composants Clés d'une Base Vectorielle
Une base vectorielle moderne comprend quatre composants essentiels :
- Couche de stockage : Persistance des vecteurs (mémoire, SSD, object storage)
- Couche d'indexation : Structures de données optimisées (HNSW, IVF, PQ)
- Moteur de recherche : Algorithmes k-NN/ANN pour trouver les vecteurs similaires
- API et interfaces : REST/gRPC endpoints, SDKs Python/TypeScript/Go
1.4. Pourquoi les Bases Traditionnelles Ne Suffisent Plus ?
Les bases SQL/NoSQL échouent pour les recherches vectorielles à grande échelle :
Problème | Bases SQL/NoSQL | Bases Vectorielles |
---|---|---|
Dimensionnalité | Optimisées pour <20 colonnes | Gèrent 128-1536 dimensions nativement |
Recherche | Correspondance exacte ou LIKE | Similarité sémantique (cosine, euclidean) |
Performance | O(n) scan complet sur 1M+ vecteurs = 5-30s | O(log n) avec HNSW = 10-50ms |
Scalabilité | Coût mémoire prohibitif >10M vecteurs | Compression (PQ) : 50-100x réduction mémoire |
Exemple concret : Rechercher les 10 documents les plus similaires parmi 10 millions avec PostgreSQL prendrait 15-60 secondes (scan full-table). Avec Qdrant + HNSW, cela prend 20-50ms avec 99%+ de précision.
2. Bases Vectorielles vs Bases Traditionnelles
2.1. Comparaison des Paradigmes
Critère | SQL (PostgreSQL) | NoSQL (MongoDB) | Search (Elasticsearch) | Vector (Qdrant) |
---|---|---|---|---|
Type de requête | Exacte (WHERE, JOIN) | Document, clé-valeur | Full-text, BM25 | Similarité sémantique |
Index principal | B-Tree, Hash | B-Tree, LSM-Tree | Inverted Index | HNSW, IVF |
Complexité recherche | O(log n) sur index | O(1) à O(log n) | O(k) k=termes query | O(log n) approximatif |
Cas d'usage typique | Transactions, comptabilité | CMS, catalogues produits | Logs, recherche texte | RAG, recommandation, ML |
Latence (10M enregistrements) | 5-100ms (avec index) | 1-50ms | 10-200ms | 10-50ms |
ACID compliance | Complet | Limité | Non | Non (AP du CAP) |
2.2. Architectures Hybrides
Dans la réalité production, la plupart des systèmes modernes combinent plusieurs types de bases :
Architecture Typique d'un Système RAG
- PostgreSQL : Métadonnées structurées (users, documents, permissions)
- Qdrant/Pinecone : Embeddings et recherche sémantique
- Redis : Cache des résultats de recherche fréquents
- S3/MinIO : Stockage des documents sources (PDF, DOCX)
Cette approche hybride combine les forces de chaque technologie : cohérence ACID pour les métadonnées critiques, performance vectorielle pour la recherche sémantique, et caching pour optimiser les requêtes répétitives.
3. Architecture d'une Base Vectorielle
3.1. Couche de Stockage
Le stockage des vecteurs s'organise selon trois approches principales :
Stockage In-Memory (RAM)
- Avantages : Latence ultra-faible (1-10ms), débit élevé (100K+ QPS)
- Limites : Coût élevé ($10-50/GB/mois cloud), perte de données en cas de crash
- Usage : Indexes chauds, caches, prototypes <10M vecteurs
- Solutions : FAISS (Meta), Qdrant mode in-memory
Stockage SSD/Disque
- Avantages : Persistance, coût 10-20x inférieur, scalabilité TB+
- Limites : Latence +10-30ms, débit réduit (10-50K QPS)
- Usage : Production >10M vecteurs, durabilité requise
- Solutions : Milvus, Weaviate, Qdrant avec WAL
Stockage Hybride (Tiering)
- Principe : Index en RAM + vecteurs froids sur SSD/S3
- Optimisation : 80% des requêtes sur 20% des données (Pareto)
- Solutions : Pinecone Serverless, Qdrant Cloud, Milvus 2.3+
3.2. Couche d'Indexation
L'indexation est le cœur de la performance. Les bases vectorielles utilisent des structures de données avancées pour éviter le scan O(n) complet :
- HNSW : Graphe navigable hiérarchique (le plus populaire)
- IVF : Clustering par k-means avec inverted index
- PQ : Compression par quantization vectorielle
- LSH : Locality-Sensitive Hashing (moins utilisé aujourd'hui)
3.3. Moteur de Recherche
Le moteur exécute les requêtes de similarité en trois étapes :
- Parsing : Réception du vecteur de requête (query embedding) et paramètres (k, filters)
- Traversée d'index : Navigation dans HNSW/IVF pour trouver candidats
- Reranking : Calcul exact de distance sur top candidats + application filtres métadonnées
- Retour : Top-k résultats avec scores de similarité
3.4. API et Interfaces
Les bases vectorielles modernes exposent plusieurs interfaces :
- REST API : HTTP/JSON, facile à intégrer (Pinecone, Qdrant)
- gRPC : Binaire, 2-5x plus rapide, idéal pour services backend (Milvus, Qdrant)
- SDKs natifs : Python (principal), TypeScript/JavaScript, Go, Rust, Java
- Intégrations : LangChain, LlamaIndex, Haystack (frameworks RAG)
4. Mécanismes d'Indexation
4.1. HNSW (Hierarchical Navigable Small World)
HNSW est devenu le standard de facto pour les bases vectorielles modernes grâce à son excellent compromis précision/vitesse.
Principe de Fonctionnement
HNSW construit un graphe multi-couches où chaque vecteur est un nœud connecté à ses k plus proches voisins :
- Couche supérieure : Graphe sparse, sauts longs (comme autoroutes)
- Couches intermédiaires : Densité croissante
- Couche inférieure : Graphe dense, connexions précises (routes locales)
Recherche : Commence en haut (sauts rapides), descend progressivement vers connexions précises. Complexité : O(log n) en moyenne.
Paramètres Clés
- M : Nombre de connexions par nœud (typiquement 16-64). Plus élevé = meilleure précision mais plus de mémoire
- ef_construction : Taille de la liste candidats pendant construction (100-500). Plus élevé = meilleur graphe mais construction plus lente
- ef_search : Taille candidats pendant recherche (50-500). Plus élevé = meilleure précision mais latence accrue
Performances Typiques HNSW
- 1M vecteurs (768 dim) : 10-30ms, recall 99%+, 4-8 GB RAM
- 10M vecteurs : 30-80ms, recall 98%+, 40-80 GB RAM
- 100M vecteurs : 100-300ms, recall 95-98%, 400-800 GB RAM (avec optimisations)
4.2. IVF (Inverted File Index)
IVF divise l'espace vectoriel en clusters (via k-means), puis crée un inverted index.
Fonctionnement
- Phase d'entraînement : k-means sur un échantillon pour trouver nClusters centroids
- Indexation : Chaque vecteur assigné au centroid le plus proche
- Recherche : Trouver nProbe clusters les plus proches de la requête, chercher seulement dans ces clusters
Paramètres
- nClusters : Nombre de clusters (typiquement sqrt(N) à N/100)
- nProbe : Nombre de clusters visités pendant recherche (1-100)
Trade-off : nProbe=1 très rapide mais recall 60-80%, nProbe=20 recall 95%+ mais latence x10-20.
4.3. PQ (Product Quantization)
PQ compresse les vecteurs en divisant chaque dimension en sous-vecteurs quantisés.
Principe
Un vecteur 768D est divisé en 8 sous-vecteurs de 96D, chacun quantisé sur 256 valeurs (1 byte). Résultat : 768 float32 (3072 bytes) → 8 bytes (compression 384x).
Impact
- Mémoire : 50-100x réduction (permet 10M vecteurs sur 10GB au lieu de 1TB)
- Précision : Recall 90-95% vs 99% sans PQ (acceptable pour beaucoup d'usages)
- Vitesse : Calcul distance plus rapide (LUT pré-calculées)
4.4. Tableau Comparatif des Indexes
Index | Complexité | Recall Typique | Latence (1M vecs) | Mémoire | Cas d'Usage |
---|---|---|---|---|---|
Flat | O(n) | 100% | 500-2000ms | Haute | Baseline, <100K vecteurs |
HNSW | O(log n) | 98-99.5% | 10-30ms | Haute (4-8 GB/1M) | Production générale, latence critique |
IVF | O(k) k=nProbe | 90-98% | 5-50ms (selon nProbe) | Moyenne | Très grandes bases (>100M) |
IVF+PQ | O(k) | 85-95% | 3-30ms | Très faible (50-100x réduit) | Milliards de vecteurs, mémoire limitée |
HNSW+PQ | O(log n) | 95-98% | 15-50ms | Moyenne | Best hybrid : performance + efficacité |
5. Recherche Vectorielle
5.1. k-NN Exact vs ANN Approximatif
La recherche vectorielle se décline en deux approches fondamentales :
k-NN (k-Nearest Neighbors) Exact
- Principe : Calcul de distance avec TOUS les vecteurs, tri, retour top-k
- Complexité : O(n) - linéaire
- Précision : 100% (par définition)
- Usage : Bases <100K vecteurs, benchmarks, validation
ANN (Approximate Nearest Neighbors)
- Principe : Index intelligent (HNSW, IVF) pour éviter calculs exhaustifs
- Complexité : O(log n) ou O(k)
- Précision : 90-99.5% (tunable)
- Usage : Production >1M vecteurs (obligatoire pour performance)
Trade-off Fondamental
En production, on accepte une perte de 0.5-2% de précision (recall 98-99.5%) pour gagner 100-1000x en vitesse. Pour la plupart des applications RAG, recherche sémantique, recommandation, cette approximation est imperceptible par l'utilisateur final.
5.2. Métriques de Distance
Trois distances principales pour mesurer la similarité vectorielle :
Similarité Cosinus (Cosine Similarity)
Formule : cosine_sim(A, B) = (A · B) / (||A|| * ||B||)
- Valeurs : -1 (opposés) à +1 (identiques)
- Propriété : Insensible à la magnitude, mesure l'angle entre vecteurs
- Usage : NLP (texte), embeddings normalisés (OpenAI, Sentence-BERT)
- Performance : Rapide si vecteurs pré-normalisés
Distance Euclidienne (L2)
Formule : L2(A, B) = sqrt(Σ(Aᵢ - Bᵢ)²)
- Valeurs : 0 (identiques) à +∞
- Propriété : Distance géométrique directe dans l'espace
- Usage : Vision (images), embeddings non-normalisés
Dot Product (Produit Scalaire)
Formule : dot(A, B) = Σ(Aᵢ * Bᵢ)
- Valeurs : -∞ à +∞
- Propriété : Plus rapide (pas de sqrt), sensible à la magnitude
- Usage : Recommandation, scoring, vecteurs normalisés (équivalent cosine)
5.3. Filtrage avec Métadonnées
La puissance réelle des bases vectorielles modernes réside dans le filtrage hybride : recherche sémantique + filtres structurés.
Exemple Requête Hybride
search_params = {
"vector": embedding_query, # Vecteur 768D de la question
"top_k": 10,
"filter": {
"must": [
{"key": "document_type", "match": {"value": "technical"}},
{"key": "publication_year", "range": {"gte": 2020}}
],
"must_not": [
{"key": "confidential", "match": {"value": True}}
]
}
}
Ce type de requête recherche les 10 documents les plus similaires sémantiquement, mais seulement parmi ceux qui sont techniques, publiés après 2020, et non confidentiels.
5.4. Recherche Hybride (Dense + Sparse)
La tendance 2024-2025 combine embeddings denses (sémantique) et sparse BM25 (mots-clés exacts) :
- Dense (embeddings) : Capture le sens, gère synonymes et paraphrases
- Sparse (BM25) : Recherche termes exacts, noms propres, acronymes
- Fusion : Reciprocal Rank Fusion (RRF) ou apprentissage de poids
Performance : Hybrid search améliore de 5-15% la précision vs dense seul sur benchmarks comme MS MARCO et BEIR.
6. Cas d'Usage et Applications
6.1. RAG (Retrieval Augmented Generation)
Le cas d'usage dominant des bases vectorielles en 2024-2025. Le RAG permet aux LLMs d'accéder à des connaissances actualisées et spécifiques.
Pipeline RAG Typique
- Indexation : Documents → Chunking (500 tokens) → Embeddings (text-embedding-ada-002) → Qdrant
- Requête : Question utilisateur → Embedding → Recherche top-5 chunks similaires
- Génération : Context (5 chunks) + Question → GPT-4 → Réponse avec citations
Résultats mesurés : 85-95% précision factuelle (vs 60-75% sans RAG), réduction 70% des hallucinations.
6.2. Recherche Sémantique et Moteurs Intelligents
Remplacer la recherche par mots-clés traditionnelle par une compréhension du sens :
Exemple E-commerce
Requête : "chaussures confortables pour marcher longtemps en ville"
Recherche traditionnelle : Match mots-clés "chaussures", "marcher" → résultats médiocres
Recherche vectorielle : Comprend l'intention → propose baskets urbaines, chaussures de marche légères, sneakers confort, même sans les mots exacts
Entreprises : Algolia, Coveo, Elastic (8.0+ avec KNN), utilisent des bases vectorielles pour améliorer la pertinence.
6.3. Systèmes de Recommandation
Calculer la similarité entre utilisateurs, produits, contenus pour personnaliser l'expérience :
- Netflix : Embeddings de films + préférences utilisateur → recommandations (70% du visionnage vient des recommandations)
- Spotify : Embeddings de chansons + comportement écoute → playlists personnalisées
- LinkedIn : Embeddings de profils → suggestions de connexions, offres d'emploi
6.4. Détection d'Anomalies et Fraudes
Les vecteurs outliers (éloignés des clusters normaux) signalent des anomalies :
- Cybersécurité : Embeddings de logs réseau → détection d'intrusions (comportements anormaux)
- Finance : Embeddings de transactions → détection fraude (PayPal, Stripe)
- Industrie : Embeddings de signaux capteurs → maintenance prédictive
6.5. Recherche Multimédia (Images, Vidéos, Audio)
Les modèles multimodaux (CLIP, ImageBind) génèrent des embeddings dans un espace partagé :
- Recherche d'images par texte : "un chat roux sur un canapé" → retrouve photos
- Recherche d'images par image : Photo → trouve visuellement similaires (Pinterest Lens, Google Images)
- Recherche audio : Shazam, Content ID YouTube (embeddings de spectrogrammes)
7. Avantages et Limitations
7.1. Avantages Clés
- Performance : 100-1000x plus rapide que scan complet SQL pour recherche similarité
- Scalabilité : Gère millions à milliards de vecteurs avec latence <100ms
- Compression : PQ permet 50-100x réduction mémoire avec 90-95% précision conservée
- Flexibilité : Combine recherche sémantique + filtres métadonnées complexes
- Qualité : Recherche par sens vs mots-clés exacts = expérience utilisateur supérieure
7.2. Limitations Techniques
Défis à Anticiper
- Coût mémoire : HNSW nécessite 4-10 GB RAM par million de vecteurs 768D (mitigé par PQ, mais perte précision)
- Approximation : ANN sacrifie 0.5-5% précision vs exact (acceptable mais à mesurer)
- Complexité opérationnelle : Tuning paramètres (M, ef_construction, nProbe) requiert expertise
- Cold start : Construction d'index HNSW peut prendre heures pour 100M+ vecteurs
- Updates : Modifications fréquentes dégradent qualité index (fragmentation)
7.3. Coûts
Estimation coûts pour un système RAG avec 10M documents (10M embeddings 1536D) :
Composant | Cloud (Pinecone) | Self-Hosted (Qdrant) |
---|---|---|
Stockage/Index | $70-200/pod/mois (1M-5M vecs) | EC2 r6i.2xlarge : $450/mois (64GB RAM) |
Génération embeddings | OpenAI ada-002 : $1.3/1M tokens (~$130 pour 10M docs) | Same (one-time) ou modèle local (gratuit, GPU $2-5/h) |
Queries | Inclus dans pod (latence garantie) | Coût infra only |
Total mensuel | $300-800/mois (scale automatique) | $450-1000/mois (fixe, contrôle total) |
7.4. Maturité de l'Écosystème
Les bases vectorielles sont une technologie mature en 2025 mais encore en évolution rapide :
- Mature : Pinecone (2019), Weaviate (2019), Milvus (2019) en production chez FAANG+
- Standardisation : Pas encore de "SQL des vecteurs" standard (chaque DB a son API)
- Intégrations : Excellentes avec LangChain, LlamaIndex, Haystack (frameworks RAG)
- Compétences : Pool de talents grandissant, documentations complètes
8. Comment Choisir une Base Vectorielle ?
8.1. Critères de Sélection
Évaluez votre besoin selon 8 dimensions principales :
- Volume : <1M, 1-10M, 10-100M, 100M-1B, >1B vecteurs ?
- Latence requise : <10ms, <50ms, <200ms, >200ms acceptable ?
- Débit (QPS) : 10, 100, 1K, 10K, 100K+ queries/sec ?
- Budget : Préférence cloud managed ou self-hosted ?
- Filtrage métadonnées : Filtres simples ou requêtes complexes (AND/OR/NOT) ?
- Hybrid search : Dense uniquement ou dense + sparse (BM25) ?
- Multimodalité : Texte uniquement ou texte + images + autre ?
- Compétences équipe : Préférence Python, Go, Rust ? DevOps disponible ?
8.2. Comparatif des Solutions Principales
Solution | Type | Index | Points Forts | Limites | Prix |
---|---|---|---|---|---|
Pinecone | Cloud Managed | Proprietary (HNSW-like) | Zéro ops, scale auto, latence garantie, excellent DX | Coûteux, vendor lock-in, pas self-hosted | $$$$ |
Qdrant | Open Source + Cloud | HNSW, quantization | Performant, Rust (rapide), filtres avancés, API simple | Écosystème plus petit que Weaviate/Milvus | $ (self) ou $$$ (cloud) |
Weaviate | Open Source + Cloud | HNSW | Multi-modal natif, GraphQL, modules ML intégrés | Plus complexe à configurer, gourmand mémoire | $ (self) ou $$$ (cloud) |
Milvus | Open Source + Cloud | HNSW, IVF, DiskANN | Très scalable (billions), Kubernetes-native, GPU support | Complexité déploiement, courbe apprentissage | $ (self) ou $$$ (Zilliz Cloud) |
Chroma | Open Source | HNSW (via hnswlib) | Simplicité, embedded, parfait prototypage, intégration LangChain | Pas pour production >1M vecs, pas de cloud managed | Free |
PostgreSQL + pgvector | Extension SQL | IVF | Pas de nouvelle DB, ACID, simplicité, bon <1M vecs | Performances limitées >1M, pas d'index HNSW (pgvector 0.5+) | Free |
8.3. Recommandations par Profil
Startup/MVP (<100K vecteurs)
Recommandation : Chroma (embedded) ou PostgreSQL + pgvector. Gratuit, simple, suffisant pour valider l'idée. Migration facile vers solution scalable ensuite.
PME (100K-10M vecteurs, budget limité)
Recommandation : Qdrant self-hosted (Docker/Kubernetes). Excellent rapport qualité/coût, performances élevées, communauté active. Alternative : Weaviate si besoin multi-modal.
Scale-up (10-100M vecteurs, focus vitesse)
Recommandation : Pinecone si budget permet (zéro ops), sinon Qdrant Cloud ou Weaviate Cloud. Optez pour managed pour libérer équipe technique sur core business.
Enterprise (>100M vecteurs, exigences strictes)
Recommandation : Milvus (self-hosted sur Kubernetes) pour contrôle total et scalabilité maximale. Alternative : Pinecone Enterprise si SLA critiques et budget confortable.
8.4. Grille d'Évaluation (Template)
Utilisez ce tableau pour scorer vos options (1-5) sur vos critères prioritaires :
Critère (Poids) | Pinecone | Qdrant | Weaviate | Milvus |
---|---|---|---|---|
Performance (20%) | 5 | 5 | 4 | 5 |
Facilité déploiement (15%) | 5 | 4 | 3 | 2 |
Coût (25%) | 2 | 5 | 4 | 4 |
Scalabilité (15%) | 5 | 4 | 4 | 5 |
Filtres métadonnées (10%) | 4 | 5 | 5 | 4 |
Écosystème/Support (15%) | 5 | 4 | 4 | 4 |
Score Total (exemple) | 4.0 | 4.5 | 3.9 | 3.9 |
Besoin d'Aide pour Intégrer une Base Vectorielle ?
Nos experts vous accompagnent dans l'architecture, le choix de solution, l'implémentation et l'optimisation de votre infrastructure vectorielle. RAG, recherche sémantique, systèmes de recommandation : nous concevons des solutions performantes et scalables adaptées à vos besoins métier.
Discuter de Votre ProjetFAQ : Questions Fréquentes sur les Bases Vectorielles
Ai-je vraiment besoin d'une base vectorielle pour mon projet ?
Vous avez besoin d'une base vectorielle si :
- Vous construisez un système RAG (Retrieval Augmented Generation) pour un LLM
- Vous devez effectuer des recherches sémantiques sur des millions de documents
- Vous développez un moteur de recommandation basé sur la similarité
- Vous travaillez avec des embeddings à grande échelle (images, texte, audio)
Si votre volume est inférieur à 100K vecteurs, une solution plus simple comme FAISS (bibliothèque in-memory) ou PostgreSQL avec pgvector peut suffire.
Combien de vecteurs une base vectorielle peut-elle gérer ?
Les bases vectorielles modernes peuvent gérer de millions à milliards de vecteurs, selon l'infrastructure et les optimisations :
- Pinecone : Jusqu'à 5+ milliards de vecteurs (pods premium)
- Milvus : Plus de 10 milliards avec clustering multi-nœuds
- Qdrant : Plusieurs milliards avec quantization et sharding
- Weaviate : Milliards (configuration distribuée)
Les performances dépendent fortement de l'infrastructure (RAM, SSD), de la dimensionnalité des vecteurs (384D vs 1536D), et du type d'index utilisé (HNSW, IVF, PQ).
Quelle est la latence typique d'une recherche vectorielle ?
Avec un index HNSW optimisé, les latences P95 (95e percentile) sont typiquement :
- 1-10M vecteurs : 10-50ms
- 10-100M vecteurs : 50-150ms
- 100M-1B vecteurs : 150-500ms (avec sharding et optimisations)
Avec IVF + quantization, on peut atteindre 5-20ms pour des millions de vecteurs, mais avec une légère perte de précision (recall 95-98% vs 99%+ pour HNSW).
La latence réseau API (si cloud) ajoute 20-100ms supplémentaires. Pour des applications temps réel critique (<10ms total), privilégiez le self-hosting avec infra dédiée.
Peut-on modifier des vecteurs après insertion dans une base vectorielle ?
Oui, toutes les bases vectorielles modernes supportent les opérations UPDATE et DELETE, mais avec des nuances importantes :
- Les index comme HNSW nécessitent une reconstruction partielle lors de modifications importantes, ce qui peut impacter temporairement les performances
- Il est généralement préférable de concevoir votre système pour minimiser les modifications (append-only quand possible) ou d'utiliser des mécanismes de versioning
- Qdrant et Weaviate gèrent bien les updates incrémentaux grâce à leurs Write-Ahead Logs (WAL)
- Pinecone supporte les updates/deletes avec reindexation automatique en arrière-plan
Pour des cas d'usage avec modifications fréquentes (streaming de données), considérez des architectures avec micro-batching et réindexation périodique.
Les bases vectorielles sont-elles ACID compliant ?
Non, la plupart des bases vectorielles privilégient la performance et la disponibilité (modèle AP du théorème CAP) plutôt que la cohérence stricte ACID :
- Qdrant : Offre une durabilité avec WAL (Write-Ahead Log), mais pas de transactions multi-documents
- Weaviate : Cohérence éventuelle configurable (tunable consistency)
- Milvus : Supporte les transactions avec limitations (single-collection uniquement)
- Pinecone : Cohérence éventuelle, pas de garanties ACID
Si vous avez besoin de garanties ACID strictes (ex: transactions financières), considérez PostgreSQL avec pgvector, bien que moins performant à grande échelle. Pour la plupart des cas d'usage IA (RAG, recherche, recommandation), la cohérence éventuelle est acceptable.
Ressources et Documentation Officielle
Pour approfondir vos connaissances sur les bases vectorielles :
- Paper HNSW (2016) - Malkov & Yashunin
- FAISS Wiki (Meta) - Indexation vectorielle
- Qdrant Documentation Officielle
- Pinecone Learning Center
- Weaviate Documentation
- Milvus Documentation
- MTEB Leaderboard - Benchmarks Embeddings
Articles Connexes
Pour aller plus loin, consultez nos autres guides sur l'IA :