Recherche vectorielle : Google Cloud mise sur AlloyDB (et PostgreSQL)
Lors de Google Cloud Next’23, le géant du cloud a annoncé la feuille de route consacrée à son portfolio de base de données. L’occasion pour le fournisseur de mettre l’accent sur l’adaptation des capacités AlloyDB à l’ère de l’IA générative.
Pour rappel, AlloyDB est une déclinaison propriétaire et commerciale compatible avec PostgreSQL à laquelle Google Cloud a greffé un système de réplication multizone, en sus du découplage du calcul et du stockage.
Si l’architecture détaillée précédemment par LeMagIT doit permettre d’accroître les performances de PostgreSQL, il n’en reste pas moins qu’AlloyDB demeure compatible avec les extensions, les pilotes et les objets de configuration de la base de données relationnelle.
Ainsi, GCP a présenté la préversion d’AlloyDB AI, une suite de fonctionnalités intégrées dans AlloyDB. Comme beaucoup d’éditeurs de bases de données, le fournisseur entend offrir un moyen de stocker et de traiter les « embeddings », des représentations vectorielles d’images et de mots stockées sous forme de nombres à virgule flottante. Ces vecteurs s’avèrent nécessaires pour l’exécution de recherches sémantiques ainsi que pour enrichir les requêtes envoyées aux modèles d’IA générative, afin d’en obtenir des réponses plus factuelles ou plus précises. C’est le rôle de la technique Retrieval Augmented Generation.
En juin 2023, Google Cloud avait déjà présenté un moyen de stocker ces vecteurs en intégrant l’extension open source pgvector. Cette dernière a récolté plus de 5 300 étoiles sur GitHub.
Un module de recherche vectorielle disponible sur site
Avec AlloyDB AI, GCP prétend exécuter les requêtes liées à pgvector 10 fois plus rapidement qu’avec une instance PostgreSQL « standard ». Il est possible de compresser les vecteurs à l’aide d’une quantification vectorielle 8 bits. Cela permettrait de réduire par trois la taille de l’index tout en embarquant quatre fois plus de dimensions, quand la fonction de compression est activée.
Pour cela, les ingénieurs de Google ont intégré la librairie ScaNN (Scalable Nearest Neighbors), imaginée par Google Research. Ce module de recherche de vecteurs par similarité entend renforcer la quantification des vecteurs. Il s’agit par ailleurs d’améliorer – en tout cas sur le papier – la précision des recherches par la maximisation du produit interne entre une requête et une donnée à retrouver (Maximum inner-product search, en VO).
Pour vectoriser les données sources, Google Cloud permet aux clients d’utiliser les modèles d’IA disponibles depuis Vertex AI ou ceux qu’ils hébergent par eux-mêmes. AlloyDB AI inclut une commande pour activer la création des vecteurs depuis l’interface SQL de la base de données.
Une solution que Google Cloud ne souhaite pas réserver à son cloud. Ayant bien compris que toutes les entreprises n’étaient pas prêtes à mettre à disposition dans le cloud leurs données exploitées dans le cadre de projet d’IA générative, Google a intégré AlloyDB AI dans la préversion d’AlloyDB Omni, déjà présentée en mars 2023.
AlloyDB Omni n’est autre qu’une version self-managed de la version modifiée de PostgreSQL pouvant être déployée sur site. D’ailleurs, la préversion d’AlloyDB AI est une exclusivité temporaire d’Omni. GCP entend ajouter le module d’IA plus tard cette année dans la version entièrement managée d’AlloyDB.
« Non seulement il est compatible avec PostgreSQL, mais avec AlloyDB Omni les clients peuvent tirer parti de ce service pour créer des applications propulsées à l’IA partout où ils le souhaitent : sur site, en Edge, dans plusieurs clouds ou même sur un ordinateur portable », vante Andi Gutmans, directeur général et vice-président ingénierie bases de données chez Google Cloud.
Plus tard dans l’année, AlloyDB et AlloyDB Omni pourront s’intégrer avec Vertex AI et la centaine de modèles LLM disponibles depuis le « jardin de modèles » mis à disposition par le fournisseur, mais aussi avec des applications comme Salesforce, Jira et Confluence.
AlloyDB, le produit pour concurrencer Oracle
Reste à savoir pourquoi Google Cloud a fait d’AlloyDB sa base de données vectorielle de référence, alors qu’en principe, une base de données NoSQL, plus particulièrement orientée documents, semble plus adaptée à cet exercice.
« D’abord, nous allons apporter des capacités d’IA générative à travers plusieurs bases de données, qu’elles soient relationnelles ou non », répond Andi Gutmans à la question du MagIT.
Il ne faut pas oublier non plus la disponibilité sur Google Cloud de services NoSQL tiers qui prennent déjà en charge les embeddings. Ainsi, GCP annonce la préversion des clusters haute disponibilité pour Memorystore for Redis, ainsi que l’intégration de la version 7.0 de la base de données NoSQL in-memory. De son côté, Thomas Kurian, PDG de Google Cloud, a évoqué les partenariats avec plusieurs éditeurs, dont MongoDB et DataStax (une distribution commerciale dérivée d’Apache Cassandra).
Toutefois, le fournisseur met l’emphase sur AlloyDB.
« Pourquoi AlloyDB est-elle si importante dans ce contexte ? Selon StackOverFlow, près de 50 % des développeurs professionnels utilisent PostgreSQL [précisément, 49,09 % des 60 369 répondants, N.D.L.R] », note Andi Gutmans.
Notons que d’après le même sondage (StackoverFlow Developer Survey 2023), MongoDB et Redis sont respectivement utilisés par 25,66 % et 23,25 % des développeurs professionnels.
« Dans les entreprises, PostgreSQL est devenu un standard : c’est la technologie la plus utilisée quand il est question de données relationnelles », poursuit le dirigeant.
En principe, il convient donc de convertir des données non structurées en vecteurs qu’une base de données relationnelle peut interpréter et interroger.
« Nous observons également une adoption croissante de la librairie pgvector dans la communauté Postgres, car elle permet de combiner la simplicité des interrogations SQL et la recherche vectorielle », note Andi Gutmans.
Les entreprises s’attendent à pouvoir gérer ce type de charge de travail sur tout type d’infrastructure, termine-t-il.
Sans équivoque, AlloyDB est l’un des produits d’appel pour encourager les clients d’Oracle à migrer sur Google Cloud.
Duet AI : Google Cloud infuse l’IA générative dans ses services de bases de données
En ce sens, le fournisseur prévoit d’intégrer sa suite d’IA générative Duet AI dans son service de migration de bases de données. Il s’agit de fournir un assistant pour convertir automatiquement les procédures stockées, les déclencheurs, les pages et le code PL/SQL restant qui ne peut pas être converti automatiquement. Cette fonctionnalité présentée sur scène permet notamment de convertir des fonctions spécifiques à Oracle dans leurs équivalents PostgreSQL, puis de reproduire automatiquement les mêmes modifications partout où elles sont détectées par Duet AI. Elle couvre en quelque sorte les « derniers kilomètres » de la migration.
Duet AI sera également intégré dans Cloud Spanner. Ici, il s’agit de générer à partir de demandes en langage naturel des requêtes SQL. Plus important, Google annonce la disponibilité générale de Cloud Spanner Boost, un service entièrement managé permettant d’allouer des ressources de calcul dédiées à des requêtes analytiques ou des exports de données. Ces charges de travail – en provenance de BigQuery, Spark On Dataproc et Dataflow – sont automatiquement distribuées sur des instances isolées.
« [Cette fonctionnalité] est particulièrement efficace dans les scénarios […] où vous souhaitez éviter les impacts négatifs sur le système transactionnel existant en raison de conflits de ressources », assure GCP.
Enfin, Google Cloud ne compte pas abandonner Cloud SQL. Il a présenté le mois dernier les éditions Enterprise Plus pour MySQL et PostgreSQL, qui doivent multiplier les performances par deux à trois par rapport aux services managés existants.