Qu’est-ce qu’une base de données vectorielle ?

Une base de données vectorielle est conçue pour stocker, indexer et rechercher des données de haute dimension. En termes plus simples, elle stocke les données dans un « tableau » mathématique de nombres, appelés « vecteurs ». Ces vecteurs sont regroupés en fonction de leur similarité les uns avec les autres. Ces vecteurs sont généralement générés par des modèles de machine learning et sont utilisés pour représenter des données non structurées, telles que du texte, des images, de l’audio et de la vidéo, dans un format numérique qui capture le « sens » sémantique. 

Ce formatage permet d’exécuter facilement des requêtes à faible latence sur celles-ci. Considérez cela comme le fait d’acheter des articles similaires dans une épicerie - vous ne voudriez pas que les pommes et les bananes se trouvent dans différentes parties du même magasin. La possibilité d’effectuer des requêtes à faible latence rend les bases de données vectorielles parfaites pour les applications d’IA, car elles peuvent mémoriser les entrées précédentes.

Que sont les vecteurs ?

En apprentissage automatique, un vecteur est une liste de nombres à virgule flottante ([0,23, -0,11, 0,87, ...]) qui codent les caractéristiques d’un objet, comme une phrase ou une image. Ils sont souvent générés à l’aide de modèles comme Word2Vec, BERT ou CLIP. L’idée est que des éléments similaires auront des vecteurs proches les uns des autres dans l’espace vectoriel (l’exemple des pommes et des bananes mentionné ci-dessus). 

Pourquoi avons-nous besoin de bases de données vectorielles ?

Les bases de données traditionnelles (comme SQL ou NoSQL) ne sont pas optimisées pour la « recherche de similarité » (encore une fois, les pommes et les bananes). Bases de données vectorielles :

  • Permettre des recherches efficaces de « plus proche voisin », comme trouver le document ou l’image la plus similaire.

  • Traitez de grandes quantités de données non structurées.

  • Prend en charge des opérations comme la recherche sémantique, les systèmes de recommandation, et la détection d’anomalies.

  • Fournissez des stratégies d’indexation (comme HNSW, IVF ou PQ), qui permettent à leur tour des temps de requête rapides.

Quels sont quelques cas d’utilisation courants des bases de données vectorielles ?

  • Recherche sémantique:  Des moteurs de recherche qui comprennent le sens, et pas seulement les mots-clés

  • Systèmes de recommandation : Suggérer du contenu ou des produits en fonction de leur similarité

  • Recherche d’images et de vidéos: Trouver du contenu visuellement similaire

  • Mémoire des chatbots et des LLM: stockage du contexte pour la génération augmentée par récupération

  • Détection de fraude: identification des anomalies de comportement au moyen de modèles vectoriels

Comment les données sont-elles stockées dans une base de données vectorielle, et comment les recherches fonctionnent-elles ?

Les bases de données vectorielles utilisent des algorithmes de plus proches voisins approximatifs (ANN) pour trouver rapidement les vecteurs les plus proches d’un vecteur de requête selon une métrique de similarité. L’ANN sacrifie un peu de précision au profit d’un avantage significatif en matière de vitesse, ce qui permet la scalabilité. 

Chaque entrée comprend généralement :

  • Le vecteur lui-même

  • Une charge utile facultative (métadonnées comme des libellés de texte, des horodatages, etc.)

  • Un ID unique pour la récupération et la mise à jour

Certaines bases de données vous permettent de combiner la similarité vectorielle avec un filtrage basé sur les métadonnées (c’est-à-dire « rechercher des documents similaires à X, mais uniquement en anglais »).

Quelle est la différence entre une base de données vectorielle et une base de données traditionnelle ?

Certaines différences clés entre une base de données traditionnelle et une base de données vectorielle sont présentées dans ce tableau.

Fonctionnalité

Base de données traditionnelle

Base de données vectorielle

Type de données

Structuré/tabulaire

Non structuré/sémantique

Type de requête

Correspondance exacte/filtre

Recherche de similarité

Indexation

B-arbres, tables de hachage

Graphes ANN ( HNSW, FAISS)

Cas d’utilisation courants

CRUD, transactions

Recherche par IA, recommandations

Quelles sont les bases de données vectorielles les plus populaires ?

Certaines bases de données vectorielles largement utilisées incluent :

  • Pinecone

  • Weaviate

  • FAISS (par Meta)

  • Milvus

  • Qdrant

  • Chroma

  • Vespa

Chacun présente des points forts différents, selon votre cas d’utilisation. Les principales fonctionnalités vont des performances aux intégrations, ainsi qu’à la disponibilité en open source.

Bien que Fastly ne propose pas directement de bases de données vectorielles, notre plateforme Edge Cloud contribue à accélérer la distribution d’applications gourmandes en données, y compris celles alimentées par l’IA et la recherche vectorielle. Que vous développiez une recherche de nouvelle génération, des systèmes de recommandation ou de l’analytique en temps réel, Fastly garantit que vos API et applications fonctionnent rapidement, en toute sécurité, et au plus près des utilisateurs. Cliquez ici pour en savoir plus.

Prêt à commencer ?

Contactez-nous dès aujourd’hui