alphaspirit - stock.adobe.com

Recherche vectorielle : Couchbase veut couvrir un maximum de cas d’usage

Avec la version 8.0, Couchbase dispose de trois options principales d’indexation vectorielle afin de couvrir le périmètre le plus large possible sur site, dans le cloud et en Edge. Reste à savoir si cela lui conférera un avantage face à ses concurrents plus réputés.

L’éditeur de la base de données NoSQL éponyme a annoncé la disponibilité générale de Couchbase Server 8.0. Cette version est disponible en mode self-managed et depuis la DbaaS. Elle bénéficierait de 400 modifications et fonctionnalités.

Sans surprise, Couchbase mise sur la recherche vectorielle. Un élément essentiel des mécanismes RAG qui permet de pousser des données internes à un modèle de langage sans avoir à le réentraîner. Ce dispositif est aussi le socle des systèmes d’IA agentique.

L’éditeur entend donc se distinguer sur ce volet de la recherche vectorielle. Contrairement à ses concurrents qui utilisent les algorithmes HSNW (le plus utilisé par le marché, mais aussi le plus lent), IVF (recherche inversée) ou DiskANN (mélange de recherche des proches voisins et par similarité), l’éditeur s’appuie sur une solution spécifique. Celle-ci combine le projet Vamana de Microsoft et IVF.

Couchbase vante l’interrogation à grande vitesse de gros volume de vecteurs

En clair, Couchbase mélange les capacités de l’algorithme orienté graphes derrière DiskANN et celles de l’algorithme par cluster IVF, popularisé par le projet FAISS de Meta. « L’avantage de cette conception réside dans le fait qu’elle utilise à la fois un traitement distribué en mémoire et un traitement partitionné sur disque, ce qui lui confère les meilleures performances de sa catégorie en termes de capacité, de débit, de latence et de rappel », écrit Jeff Morris, vice-président produit marketing chez Couchbase, dans un billet de blog.

Hyperscale Vector, le nom commercial de cet index, permettrait de traiter jusqu’à 19 000 requêtes par seconde à une latence de 28 millisecondes sur un jeu de données d’un milliard de vecteurs de 128 dimensions. À ce titre, il serait bien plus rapide que l’algorithme de MongoDB Atlas.

Ce temps de réponse court impacterait directement l’expérience des utilisateurs et la mise à l’échelle des projets d’IA, selon Devin Pratt, analyste chez IDG, auprès de SearchDataManagement, une publication sœur du MagIT.

Or le test plus intéressant, celui concernant les vecteurs de 768 dimensions, ne porte que sur 100 millions d’échantillons. Là, Couchbase serait cinq fois plus rapide que MongoDB. Le rappel atteindrait un taux de réussite de 93 %. L’index Hyperscale Vector permettrait surtout de réduire l’empreinte mémoire des traitements vectoriels.

Pour mémoire, les modèles d’embeddings des fournisseurs de LLM génèrent des vecteurs de plus de 512 dimensions. En moyenne 1024. Un test plus intéressant, donc, aurait été de traiter 1 milliard de vecteurs de 1024 dimensions. D’autant que les index de Couchbase peuvent prendre en charge des vecteurs jusqu’à 4096 dimensions. Il est aussi possible de compresser (quantization) les index et de les partitionner. Or Couchbase n’indique pas les impacts de ces techniques sur les parangonnages qu’il présente.

Deux index hybrides pour couvrir les besoins des développeurs

Un autre index, Composite Vector, fait son apparition. « L’index vectoriel composite fait partie des fonctions d’index secondaire existantes (GSI) grâce auxquelles vous pouvez créer un index combinant des vecteurs et d’autres types de données pris en charge, tel que des chaînes de caractères, des nombres et des booléens », explique Jeff Morris. Cela permettrait de préfiltrer les résultats de recherche vectorielle sur un jeu de données plus petit. Plus précisément, un index composite dispose d’une seule colonne vectorielle et une ou plusieurs colonnes scalaires. « Des filtres scalaires s’appliquent avant la recherche par similarité », précise la documentation de l’éditeur.

Un deuxième index hybride, « Search Vector », permet de combiner la recherche vectorielle, plein texte (BM25) ou géospatiale. Celui-ci aurait vu ses performances doubler grâce à l’usage du jeu d’instructions SIMD avx 2.

Peu importe les index, Couchbase propose différentes méthodes de calcul de distance entre les vecteurs : cosine, dot product, L2, et euclidienne. En outre, de nouvelles commandes SQL++ font leur apparition pour affiner les recherches (reranking, préfiltrages, etc.).

Couchbase, désormais sous la coupe du fonds Haveli Investments, tient là de quoi se différencier, dixit l’analyste d’IDC. Plus spécifiquement, Couchbase peut prendre en charge la recherche vectorielle sur site, dans le cloud et sur mobile ou depuis équipements IoT. Pour mémoire, MongoDB a mis fin à sa solution Realm. Une aubaine à l’ère de l’IA agentique, croit Devin Pratt.

C’est bien la stratégie affichée par l’éditeur. Matt McDonough, vice-président senior du produit chez Couchbase qui entend favoriser l’extension de l’IA générative aux équipements Edge et mobile.

Performance et robustesse sont toujours à l’ordre du jour

Outre la recherche vectorielle, Couchbase 8.0 optimise plusieurs capacités clés du SGBD NoSQL. D’abord, l’éditeur adapte la configuration de Magma, son moteur de stockage sur disque NVMe pour les très grandes collections de documents. Cela permet de réduire le quota minimum de mémoire alloué à la création d’un nœud de 1024 Mo (et 1024vBuckets) à 100 Mo (et 128 vBuckets). CouchStore, l’ancien moteur de stockage gérait lui aussi les documents par lot de 100 Mo. Il était possible de mixer les nœuds Couchstore et Magma sur un même cluster. Or Magma devient le moteur de stockage par défaut. Il fallait donc introduire un moyen de simplifier les transitions vers ce nouveau système qui conserverait ses performances et son efficience. Toutefois, la documentation prévient que ce changement peut provoquer des problèmes si les DBA n’adaptent pas le système de backup simultanément.

En outre, l’activation des nœuds serait plus rapide grâce à une option de démarrage « à chaud ».

Par ailleurs, le chiffrement des logs, des informations d’audit, est désormais actif au repos. Couchbase prend en charge le protocole standard KMIP et celui du KMS d’AWS pour permettre à ses clients de maîtriser cette protection. Le chiffrement des données des requêtes, des index et des recherches le sera dans une prochaine version, promet l’éditeur.

Pour ce qui est de la haute disponibilité, Couchbase 8.0 introduit un mécanisme de fail-over automatique des buckets éphémères et des disques qui « ne répondent pas ». En outre, la réplication inter data center a été optimisé pour améliorer le suivi de potentiels problèmes et pour obtenir une réplication bidirectionnelle entre la base de données mobile (Edge) et cloud ou self-managed via la Sync Gateway et des services applicatifs Capella. Concernant les backups, il est maintenant possible de définir des temps de rétention et d’expiration. En préversion, la restauration à un point T dans le temps permettra de descendre à l’échelle de la minute, voire sous la seconde à partir de la version 8.1.

Reste à voir si ce positionnement sur un segment moins travaillé par certains de ses concurrents, dont MongoDB, Redis, ou encore AWS.

Pour approfondir sur Base de données