Notre enjeu est négligeable et déclaré pour la forme : nous sommes Geonode et nous vendons des proxys, qui n'ont rien à voir avec tout cela. Nous ne gagnons rien, quelle que soit l'option que vous choisissez, une position plus rare dans cette catégorie qu'elle ne devrait l'être — la plupart des comparaisons de ce type sont publiées par l'un des éditeurs comparés. Chaque chiffre ci-dessous vient de la page tarifaire ou du dépôt de l'éditeur lui-même, vérifié en septembre 2026, et les licences viennent des dépôts des projets, pas des pages marketing.
Quatre Catégories, Pas Une
Avant de comparer des produits, identifiez dans quelle catégorie vous achetez. Elles ne se substituent pas les unes aux autres.
Bases vectorielles gérées. Pinecone, Qdrant Cloud, Weaviate Cloud, Zilliz Cloud, Chroma Cloud. Vous envoyez des données et des requêtes ; quelqu'un d'autre fait tourner l'index. Convient à l'échelle, au multi-tenancy, et aux équipes qui préfèrent ne pas opérer d'infrastructure distribuée.
Bases vectorielles auto-hébergées. Qdrant, Weaviate, Milvus, Chroma — les quatre sont open source et peuvent tourner sur votre matériel. Convient aux exigences de résidence des données, aux coûts prévisibles à l'échelle, et aux organisations qui opèrent déjà de l'infrastructure.
Extensions d'une base que vous avez déjà. pgvector ajoute la recherche par similarité vectorielle à Postgres. Convient au cas très courant où vous faites déjà tourner Postgres et où ajouter un second magasin de données est la partie chère.
Aucune base. Un tableau en mémoire, ou une bibliothèque embarquée. Convient aux petits corpus, plus nombreux qu'on ne le croit.
Le reste de cet article descend cette liste.
Les Options Gérées
Prix issus de la page tarifaire de chaque éditeur, vérifiés en septembre 2026. Vérifiez avant de budgéter — cette catégorie change souvent de prix.
| Service | Offre gratuite | Entrée payante | Modèle |
|---|---|---|---|
| Pinecone | 2 Go, 2M writes, 1M reads/mois | 20 $/mois forfait (Builder) | Usage : 0,33 $/Go de stockage, 4–4,50 $/M writes, 16–18 $/M reads |
| Weaviate Cloud | 100k objets, 1 Go de mémoire, 1 cluster | 45 $/mois (Flex) | Dès 0,00465 $ pour 1M de dimensions, dès 0,12 $/GiB de stockage |
| Chroma Cloud | 5 $ de crédits (Starter) | 250 $/mois (Team) | 2,50 $/GiB write, 0,33 $/GiB/mois de stockage, 0,0075 $/TiB interroge |
| Qdrant Cloud | 0,5 vCPU, 1 Go RAM, 4 Go disque | À l'usage (Standard) | Basé sur les ressources ; chiffres via leur calculateur |
Lire ces lignes en parallèle est instructif, parce que les unités de facturation ne sont pas comparables.
Pinecone facture des unités de lecture et d'écriture. Weaviate facture par million de dimensions de vecteur, donc un embedding à 1536 dimensions coûte le double d'un à 768 pour le même enregistrement — le choix du modèle devient une décision de coût directe. Chroma facture par GiB écrit et par TiB interrogé. Qdrant facture les ressources provisionnées.
Il n'y a aucun moyen de comparer cela sur des tarifs d'accroche. La seule comparaison utile est de modéliser votre propre charge — nombre d'enregistrements, nombre de dimensions, volume de requêtes, stockage — contre chaque calculateur tarifaire. C'est une heure de travail et cela produit régulièrement des écarts d'un ordre de grandeur dans un sens ou l'autre selon la forme de la charge.
Deux notes structurelles valent d'être extraites.
L'offre gratuite de Weaviate est vraiment généreuse pour l'évaluation — 100 000 objets, "always free", un cluster par utilisateur — et sa tarification par dimensions récompense les plus petits modèles d'embedding d'une façon que les autres ne font pas.
Le plan Team de Chroma commence à 250 $/mois plus l'usage, un plancher nettement plus élevé que les autres. Le plan Starter est 0 $/mois plus l'usage avec 5 $ de crédits, donc la rampe d'entrée est douce et le palier suivant ne l'est pas.
Les Options Auto-hébergées
Les quatre grandes bases vectorielles open source sont réellement open source, et les licences diffèrent de façons qui comptent pour un usage commercial. Cela vient des dépôts des projets eux-mêmes, vérifié en septembre 2026.
| Projet | Licence | Notes |
|---|---|---|
| Qdrant | Apache-2.0 | Écrit en Rust ; cloud géré disponible |
| Milvus | Apache-2.0 | Architecture distribuée ; Zilliz Cloud est la version gérée |
| Chroma | Apache-2.0 | Léger, convivial pour le développeur ; Chroma Cloud disponible |
| Weaviate | BSD-3-Clause | Cloud géré disponible ; certains modules entreprise licenciés à part |
Les quatre sont sous licence permissive, c'est le point important : aucune n'emporte de copyleft ni de restriction de champ d'usage qui compliquerait un produit commercial. Cela vaut d'être dit parce que ce n'est pas universel dans le monde des bases, et parce qu'une vérification de licence est le genre de chose qu'on saute et qui devient un problème au pire moment.
Choisir entre elles, brièvement et honnêtement :
Qdrant est le premier à essayer si vous voulez une base vectorielle auto-hébergée et rien d'autre. Binaire unique, Rust, exploitation simple, empreinte ressource petite.
Milvus est conçu pour la distribution et la grande échelle, avec une architecture correspondamment plus lourde — plusieurs composants, une file de messages, du stockage objet. Puissant à l'échelle et overhead considérable en dessous.
Chroma est le plus facile à démarrer. Il tourne in-process en développement, ce qui rend la première heure triviale, et il scale vers un déploiement serveur.
Weaviate a le jeu de fonctionnalités le plus riche autour de la base elle-même — modules d'embedding, de reranking et de recherche générative — exactement ce que vous voulez, ou plus que vous n'en avez besoin.
Le résumé honnête : pour un déploiement auto-hébergé sous quelques dizaines de millions de vecteurs, les quatre fonctionnent, les différences sont opérationnelles plutôt que fondamentales, et le facteur décisif est généralement lequel votre équipe peut faire tourner confortablement.
pgvector : La Réponse Sous-estimée
L'option qui convient à plus de projets que n'importe quelle base vectorielle dédiée, et qui reçoit le moins d'attention.
pgvector est une extension Postgres qui ajoute des types vectoriels et la recherche par similarité. Elle est open source, largement déployée, et disponible en offre gérée sur le service Postgres de chaque grand cloud — donc pour une large part des équipes, elle n'exige aucune nouvelle infrastructure.
Les avantages sont structurels plutôt que techniques :
Une base au lieu de deux. Vos vecteurs vivent aux côtés de vos données relationnelles, dans la même transaction, avec les mêmes sauvegardes, le même contrôle d'accès et le même monitoring. C'est une économie opérationnelle plus grande qu'il n'y paraît.
Les jointures marchent. Filtrer des résultats vectoriels par n'importe quoi dans votre schéma relationnel est une clause WHERE, pas une fonction de filtrage de métadonnées avec sa propre sémantique et ses propres limites.
Aucune facture supplémentaire, si vous faites déjà tourner Postgres.
La cohérence est gratuite. Écrire un enregistrement et son embedding dans une transaction supprime toute une classe de bugs de synchronisation qui existe dans chaque architecture à deux bases.
Les limites sont réelles et valent d'être connues :
Échelle. Il gère bien des millions de vecteurs et n'est pas conçu pour des milliards. Où se situe le croisement dépend de vos motifs de requêtes et du matériel, et c'est plus haut que le discours ne le suggère.
Temps de construction d'index et mémoire pour les index approximatifs demandent de l'attention à l'échelle, et les régler est une tâche d'administration Postgres plutôt qu'un souci de service géré.
Moins de fonctionnalités spécifiques à la récupération. Pas de reranking intégré, pas de modèles d'embedding hébergés, recherche hybride moins sophistiquée qu'un système conçu pour ça — même si la recherche plein texte de Postgres couvre une bonne part de ce terrain.
La règle empirique : si vous faites déjà tourner Postgres et avez moins de quelques millions de vecteurs, commencez ici. Vous pourrez passer à un système dédié plus tard si vous le dépassez, et la plupart des projets ne le font pas.
Aucune Base de Données
L'option qui ne coûte rien et qui a raison plus souvent que quiconque ne l'admet.
En dessous d'environ cent mille vecteurs, la recherche par similarité brute-force est assez rapide sur du matériel ordinaire. Calculer le produit scalaire d'une requête contre une matrice 100 000 × 768 est une seule multiplication de matrices — des millisecondes sur un portable, et exacte plutôt qu'approximative :
import numpy as np
scores = embeddings @ query # embeddings: (n, d), query: (d,)
top = np.argsort(-scores)[:10]
C'est toute l'implémentation. Pas de service, pas de construction d'index, pas de facture, pas de saut réseau, et pas d'erreur d'approximation.
Les bibliothèques embarquées prolongent la même idée. FAISS et similaires gèrent des millions de vecteurs dans un seul processus avec des index approximatifs, vous donnant l'essentiel des performances d'une base vectorielle sans en opérer une.
Quand cela cesse de marcher : lorsque les données ne tiennent plus en mémoire, lorsque vous avez besoin d'écritures concurrentes depuis plusieurs processus, lorsque vous avez besoin d'isolation multi-tenant, ou lorsque le volume de requêtes exige une montée en charge horizontale. Ce sont de vrais seuils, et ils arrivent plus tard qu'on ne l'attend.
La raison pour laquelle cela compte n'est pas la pureté, c'est le diagnostic. Commencer par le plus simple signifie que, lorsque la qualité de récupération est mauvaise — ce qu'elle est généralement au début — vous savez que la base n'est pas la cause. La stratégie de chunking, le choix du modèle d'embedding et la formulation de la requête dominent la qualité de récupération, et aucun n'est amélioré par un service géré.
Ce Qui Diffère Vraiment
Les tableaux de fonctionnalités dans cette catégorie sont longs et surtout hors sujet, parce que chaque produit fait correctement la recherche par similarité vectorielle. Cinq choses diffèrent vraiment, et ce sont celles qu'il vaut la peine de confronter à vos exigences.
La recherche hybride, et comment elle s'exprime. Combiner similarité sémantique et matching exact de mots-clés est ce qui sauve la récupération sur les identifiants, les codes produit et les noms propres rares — les cas où la recherche purement vectorielle est notoirement faible. Chaque système en prend désormais une forme, et les implémentations diffèrent beaucoup : certains font tourner un index sparse séparé que vous devez maintenir, certains offrent BM25 sur des champs texte déclarés, certains attendent que vous fusionniez deux jeux de résultats vous-même. Si votre corpus contient quoi que ce soit qui ressemble à du code, testez cela spécifiquement au lieu de faire confiance à une case à cocher.
Sémantique du filtrage de métadonnées. Tous filtrent sur les métadonnées ; la question est de savoir si le filtrage a lieu avant ou après la recherche approximative, et ce que cela fait à vos résultats. Post-filtrer un jeu top-k peut renvoyer moins de k éléments — ou aucun — lorsque le filtre est sélectif, un échec surprenant la première fois que cela arrive sur une requête de production. Le pré-filtrage l'évite et coûte plus. Découvrez lequel vous obtenez.
Modèle de multi-tenancy. Namespaces, collections, index par tenant ou un champ de métadonnées. Ils ont des garanties d'isolation très différentes et des caractéristiques de performance très différentes à haut nombre de tenants. Si vous construisez pour beaucoup de clients, c'est la décision la plus dure à changer plus tard.
Comportement des mises à jour et suppressions. Certains systèmes gèrent les mises à jour fréquentes avec grâce ; d'autres accumulent des tombstones et ont besoin d'une compaction périodique qui affecte la latence des requêtes. Si vos données changent sans cesse — au lieu d'être chargées une fois et lues — demandez cela explicitement, parce que c'est rarement sur une page de comparaison et cela domine l'expérience opérationnelle.
Cohérence après écriture. Si un enregistrement est immédiatement interrogeable après upsert, ou éventuellement. La cohérence éventuelle est tout à fait raisonnable pour un corpus de documents et assez déraisonnable pour que les propres données d'un utilisateur apparaissent dans ses propres résultats de recherche quelques secondes après qu'il les a créées.
Aucune n'apparaît dans le tableau tarifaire, toutes sont testables dans une offre gratuite, et n'importe laquelle peut être la raison pour laquelle un système qui paraissait parfait sur le papier ne convient pas.
Comment Choisir
Une procédure de décision plutôt qu'une matrice de fonctionnalités.
Commencez par mesurer la qualité de récupération en local. Construisez un petit jeu d'évaluation — vingt ou trente questions aux réponses correctes connues — et testez les choix de chunking et d'embedding contre lui avec une implémentation en mémoire. Cela coûte une journée et détermine plus de votre résultat que n'importe quel choix ultérieur.
Puis comptez vos vecteurs. Sous cent mille, restez en mémoire. Sous quelques millions avec Postgres déjà en place, utilisez pgvector. Au-dessus, ou avec du multi-tenancy ou un fort volume de requêtes, regardez un système dédié.
Puis décidez géré ou auto-hébergé. Géré si vous préférez ne pas opérer un index distribué et que le coût est acceptable. Auto-hébergé si vous avez des exigences de résidence des données, un volume important prévisible, ou une compétence d'infrastructure déjà là.
Puis modélisez le coût contre votre charge réelle, parce que les unités de facturation sont incomparables et l'intuition ne vaut rien ici. Tarification par dimensions, par unités et par ressources produisent des réponses très différentes pour la même application.
Et vérifiez le chemin de migration avant de vous engager. Les vecteurs sont portables — ce ne sont que des nombres — mais les fonctionnalités autour ne le sont pas. La syntaxe de filtrage de métadonnées, la configuration de la recherche hybride et les modèles de namespace diffèrent, donc le coût du déménagement est dans votre code applicatif plutôt que dans les données. Garder les documents sources et le pipeline de chunking fait de tout futur déménagement une reconstruction plutôt qu'un export.
Questions Fréquentes
Quelle est la meilleure alternative à Pinecone ?
Il n'y a pas de réponse unique, parce que les catégories diffèrent. pgvector si vous faites déjà tourner Postgres et avez quelques millions de vecteurs ou moins. Qdrant si vous voulez une base vectorielle auto-hébergée simple. Weaviate Cloud ou Chroma Cloud si vous voulez du géré et que leurs modèles tarifaires conviennent à la forme de votre charge.
Y a-t-il une alternative gratuite à Pinecone ?
Plusieurs. Les quatre grandes bases vectorielles open source — Qdrant, Milvus, Chroma et Weaviate — sont sous licence permissive et gratuites à auto-héberger. pgvector est gratuit et tourne sur le Postgres que vous avez peut-être déjà. Et en dessous d'environ cent mille vecteurs, une implémentation NumPy en mémoire ne coûte rien du tout.
pgvector suffit-il à remplacer une base vectorielle ?
Pour un grand nombre d'applications, oui. Il gère des millions de vecteurs, garde vos embeddings dans la même transaction et la même sauvegarde que vos données relationnelles, et vous laisse filtrer avec des jointures SQL ordinaires. Il n'est pas conçu pour des milliards de vecteurs et a moins de fonctionnalités spécifiques à la récupération, c'est là que les systèmes dédiés gagnent leur place.
Quelle base vectorielle est la moins chère ?
Inrépondable sans votre charge, parce que les unités de facturation diffèrent fondamentalement — Pinecone facture des unités de lecture et d'écriture, Weaviate par million de dimensions de vecteur, Chroma par GiB écrit et TiB interrogé, Qdrant pour les ressources provisionnées. Modélisez vos propres chiffres contre chaque calculateur.
Les bases vectorielles open source sont-elles prêtes pour la production ?
Qdrant, Milvus, Weaviate et Chroma sont tous activement développés, sous licence permissive et largement déployés en production. La question n'est pas s'ils marchent mais si vous voulez les opérer — c'est ce que vendent les versions gérées de chacun.
Quelles licences utilisent les bases vectorielles open source ?
Qdrant, Milvus et Chroma sont Apache-2.0 ; le cœur de Weaviate est BSD-3-Clause. Toutes sont permissives, sans copyleft ni restriction de champ d'usage, même si certains éditeurs licencient certains modules entreprise à part, ce qui vaut d'être vérifié si vous en dépendez.
Faut-il une base vectorielle pour le RAG ?
Pas forcément. La qualité de récupération est dominée par la stratégie de chunking, le choix du modèle d'embedding et la formulation de la requête, dont aucune n'est améliorée par une base. Construisez et évaluez d'abord avec une implémentation en mémoire ; ajoutez de l'infrastructure lorsque la taille du corpus ou le volume de requêtes l'exige vraiment.
Quelle est la difficulté de migrer entre bases vectorielles ?
Les vecteurs se déplacent facilement — ce sont des tableaux de nombres. La difficulté est dans votre code applicatif, puisque la syntaxe de filtrage de métadonnées, la configuration de la recherche hybride et les modèles de multi-tenancy diffèrent. Garder vos documents sources et votre pipeline de chunking fait d'une migration une reconstruction plutôt qu'un export.
Conclusion
La chose la plus utile à savoir sur cette catégorie, c'est que le choix est entre quatre sortes de choses, pas entre cinq produits. Services gérés, bases auto-hébergées, une extension sur la base que vous faites déjà tourner, et rien du tout.
Pour une large part des projets, la réponse est l'une des deux dernières. pgvector gère des millions de vecteurs dans l'infrastructure que vous opérez déjà, avec une cohérence transactionnelle et des jointures SQL qu'aucun service externe ne peut offrir. Et en dessous d'environ cent mille vecteurs, une multiplication de matrices en mémoire est exacte, instantanée et gratuite.
Là où un système dédié se justifie, les options open source sont toutes sous licence permissive et réellement de niveau production — Apache-2.0 pour Qdrant, Milvus et Chroma, BSD-3-Clause pour Weaviate — donc l'auto-hébergement est un vrai choix plutôt qu'un compromis. Et là où vous le voulez géré, modélisez votre propre charge contre le calculateur de chaque éditeur, parce que les unités de facturation ne sont pas comparables et la même application peut différer d'un ordre de grandeur entre elles.
Quoi que vous choisissiez, faites le travail de qualité de récupération d'abord et en local. La base est rarement ce qui rend un système de récupération bon ou mauvais, et le découvrir après avoir signé un contrat est le chemin cher.
