Sous l’influence de l’IA générative, Oracle 23c devient Oracle 23ai
Oracle a annoncé la disponibilité générale d’Oracle 23ai – un renommage de la base de données Oracle 23c, supportée à long terme –, désormais calibrée pour traiter des données semi-structurées et prendre en charge l’IA générative.
Ne l’appelez plus Oracle Database 23c, mais Oracle 23ai. Oui, l’éditeur a jugé que les nouveautés introduites depuis septembre 2023 justifient un changement de nom pour la version prise en charge à long terme de son produit phare.
Pour rappel, jusqu’alors Oracle misait sur la fonction JSON Relational Duality, un moyen d’utiliser des fonctionnalités JSON en sus du traditionnel SQL et de cibler les données à l’aide des deux moyens via API. L’idée était de convaincre les développeurs d’exploiter sa plateforme plutôt que celle de MongoDB.
Mais en septembre, il était temps qu’il raccroche le wagon de l’IA générative. D’où l’annonce de Vector AI Search. Cette capacité permet de stocker à même la base de données relationnelle des vecteurs, c’est-à-dire des représentations mathématiques (vectorielles) de documents qui peuvent ensuite être recherchés. C’est devenu le moyen principal pour enrichir les connaissances générales des modèles d’IA générative avec le savoir métier de l’entreprise et pour constituer des architectures RAG (Retrieval Augmented Generation).
23ai, un marqueur pour Oracle
Oracle est loin d’être le seul sur cette voie. En réalité, bon nombre d’éditeurs de bases de données, dont Neo4j, Redis, SingleStore, AWS, Google Cloud, MongoDB, Elastic, ont annoncé des fonctions de stockage et de recherche de vecteurs.
À ce jour, c’est la fonctionnalité la plus efficace et la moins coûteuse pour exploiter en production des modèles d’IA générative dans un contexte spécifique.
Certains de ses concurrents proposaient déjà de traiter des vecteurs. De fait, la technologie est loin d’être nouvelle, même si elle a longtemps été perçue comme une solution de niche. Oracle, lui, a dû adapter davantage sa plateforme de base de données pour y arriver.
Ainsi il y a adjoint un système d’indexation basée sur l’algorithme Hierachical Navigable Small World, très utilisé dans le domaine. De plus, les modèles de création des vecteurs ne sont pas dépendants d’un seul éditeur : Oracle a fait en sorte de prendre en charge les algorithmes de vectorisation au format ONNX.
Il prétend apporter une couche de stockage plus rapide à travers son infrastructure Exadata, afin d’accueillir de plus larges volumes de données – in fine, la vectorisation consiste à traiter des données au cours de leur indexation – et un plus grand nombre de charges de travail concurrentes. Les index de vecteurs, eux, sont stockés en même temps que les métadonnées associées dans un pool isolé in-memory dans le System Global Area, l’espace mémoire d’une instance Oracle Database.
Pour un ensemble d’usage applicatif, Oracle a aussi présenté True Cache, une couche de cache in-memory « diskless » consacrée au stockage des données les plus sollicitées par des requêtes SQL via des drivers JDBC. Elle est dotée des capacités « autocicatrisantes » issues d’Oracle Active Data Guard. Celles-ci s’appuient sur un mécanisme de réplication en lecture seule de la base de données primaire. En activant le mode True Cache, les données sont directement tirées de la couche de cache par une application.
Si un problème survient, True Cache recherche les blocs manquants sur l’instance primaire de la base de données ainsi que les blocs voisins pour « chauffer » plus rapidement. Les blocs mis en cache sont automatiquement mis à jour à l’aide d’un système de logs. De la sorte, True Cache doit assurer la cohérence entre les données mises en cache et celles enregistrées dans la base de données.
La prise en charge des vecteurs irait de pair avec une autre fonctionnalité (connue lors de l’annonce d’Oracle 23c), à savoir Graph Property, un moyen d’associer des données relationnelles, JSON et spatiales, sous la forme d’applications orientées graphes.
De même, la société incarnée par Larry Ellison affirme avoir confié des capacités de traitement en temps réel à son outil de réplication et d’ingestion Golden Gate, afin de prendre en charge les architectures RAG.
Tout comme son pare-feu intégré au SGBD qui protégerait des injections SQL, même la révision du protocole RAFT, visant répliquer les données entre plusieurs bases de données et possiblement plusieurs clouds, devient un argument pour Oracle d’affirmer qu’il prend en charge pleinement le développement d’applications propulsées à l’IA générative.
Steve ZivanicV-P base de données, Oracle
L’usage de RAFT dépend de la révision du mécanisme de sharding introduit à partir d’Oracle 12c. Celui-ci a été pensé pour la distribuer via un jeu de données, à travers plusieurs bases de données distantes, mais aussi pour le gérer comme un seul dataset logique. Si une bonne partie du travail était automatisé afin d’ajouter et retirer des shards à la volée, il manquait un mécanisme d’automatisation des configurations des réplications. « Avec le protocole RAFT, les réplicats conservent des copies appelées unités de réplication à travers tous les shards. Dans le cas où un shard est défectueux ou d’une reconfiguration, Oracle Database 23ai rééquilibre automatiquement les données », assure l’éditeur. Outre le gain de fiabilité, le fournisseur permettrait un failover automatique sous la seconde.
« [Oracle 23ai] n’est pas qu’un renommage », assure Steve Zivanic, vice-président base de données chez Oracle, lors d’un point presse. « Nous avons optimisé un ensemble de briques du portfolio pour supporter les charges de travail d’IA générative ».
Oracle au coude à coude avec MongoDB, selon Constellation Research
Cette communication est de bonne guerre, selon Holger Mueller, analyste chez Constellation Research qui remarque qu’une grande partie des acteurs du marché tentent d’apporter à leurs clients des fonctionnalités similaires. D’autant que certains d’entre eux, dont Oracle, ont pour enjeu de maintenir les engagements de clients parfois tentés de se tourner vers des solutions concurrentes, moins chères ou moins captives, voire les deux.
Toutefois, Holger Mueller affirme qu’Oracle est à égalité sinon devant ses concurrents, en tout cas sur le papier. « Oracle est devant les autres acteurs du monde relationnel et propose une alternative intéressante à des offres comme celles de MongoDB », juge-t-il.
Selon Sanjeev Mohav, fondateur et analyste chez SanjMo, les éditeurs qui prônent une approche multimodèle, à l’instar de MongoDB, Oracle ou SingleStore, ont leur carte à jouer.
La prise en charge de diverses capacités faciliterait le déploiement des applications à l’aide d’une solution et de ses extensions.
Ce n’est pas forcément le parti pris de GCP et d’AWS qui privilégient l’intégration des vecteurs dans la plupart de leurs bases de données. Et il est bon de noter que la grande concurrente d’Oracle Database n’est autre que l’open source PostgreSQL, qui dispose d’un module de traitement de vecteurs (pgvector). Les fournisseurs cloud connaissent très bien cette extension et choisissent à la fois de la prendre en charge et de s’en différencier, comme Google.
Par ailleurs, Google Cloud et AWS ont proposé respectivement Vertex AI et Amazon Bedrock, des plateformes permettant d’utiliser, d’entraîner (fine-tuner), de comparer ou encore de déployer des modèles d’IA générative spécifiques à ces plateformes ou proposées par des tiers.
Sanjeev MohavFondateur et analyste, SanjMo
De son côté, Oracle n’a pas annoncé son propre environnement dédié à l’IA et maintient principalement son partenariat avec l’éditeur de LLM Cohere, note Sanjeev Mohan. L’analyste ajoute qu’Oracle ne s’est pas réellement penché sur la gouvernance de l’IA, tout comme MongoDB. « Je n’ai pas vu beaucoup de choses autour de la gouvernance de données et de l’IA, ce qui normalement va de pair. Oracle doit maintenant faire en sorte d’accélérer son écosystème de développeur de manière que ses clients puissent bâtir et déployer rapidement des agents IA ».
Oracle 23ai est accessible sur Oracle Exadata Cloud@Customer, OCI Exadata Database Service, OCI Base Database Service et Azure Oracle Database Service. Les versions on premise seront lancées dans les prochains mois sur RHEL 8/9 et Oracle Linux.