Oracle part à la chasse aux utilisateurs de MongoDB
Avec la compatibilité des charges de travail MongoDB sur Autonomous Database, Oracle tente d’attirer les entreprises qui utilisent le SGBD NoSQL, celles déjà clientes de la firme dirigée par Larry Ellison, et les autres, promptes à quitter Atlas pour OCI.
MongoDB, sa communauté et ses 31 000 clients font des envieux. Oracle a dévoilé la disponibilité générale de son API compatible avec MongoDB et Atlas pour son Autonomous JSON Database (AJD), après une préversion lancée en octobre 2021.
Le fournisseur de cloud propose une interopérabilité avec les outils et les connecteurs développés par MongoDB (MongoSH, Compass, Database Tools – mongoexport, mongorestore, mongoDump – et différents packages Ruby, Python, Java, Node.js, Rust, Go, C et C#).
L’idée : permettre la compatibilité des applications reposant sur MongoDB et favoriser la migration des données vers AJD, une base de données SQL par essence, sans perturber les développeurs.
Les programmeurs peuvent continuer à manipuler les documents au format JSON depuis leur IDE et Compass.
Quant aux data analysts et aux data engineers, ils gagnent la possibilité de réaliser depuis les interfaces OCI des requêtes SQL par-dessus des collections de documents.
De plus, Oracle promet d’apporter toutes les fonctionnalités disponibles habituellement sur Autonomous Database.
À savoir que les utilisateurs peuvent réaliser des analyses géospatiales sur des documents au format GeoJSON, bâtir et exécuter des algorithmes de scoring, utiliser l’extension PL/QL ou encore appliquer des politiques de sécurité.
« Vous pouvez faire tout cela depuis Autonomous Database », vante Gerald Venzl, chef de la gestion des produits pour les technologies de bases de données et serveur, chez Oracle Cloud.
Deux philosophies s’affrontent
« Il s’agit d’une nouvelle étape pour faire de l’Autonomous Database d’Oracle la base de données universelle capable de gérer toutes sortes de charges de travail, y compris le populaire format de document, sous la forme d’API compatibles avec MongoDB », affirme Holger Mueller, analyste chez Constellation Research auprès de nos confrères de SearchDataManagement [propriété de TechTarget, également propriétaire du MagIT].
À son lancement, Autonomous JSON Database ne supportait que l’API SODA (Simple Oracle Document Access), permettant de créer des collections de documents et de les stocker sur une base de données Oracle. Or comme le faisait remarquer DBInsights en 2020 dans une analyse pour le compte du fournisseur cloud, SODA se destine plutôt à une clientèle totalement conquise au monde Oracle. L’API MongoDB est compatible avec la version 4.2 du SGBD NoSQL, tandis qu’Atlas prend en charge les moutures 4.0 jusqu’à 5.0.
De fait, MongoDB est l’une des bases de données NoSQL les plus populaires. Le sondage Stackoverflow effectué auprès de 53 000 développeurs professionnels tend à prouver que c’est le quatrième SGBD le plus utilisé et le cinquième selon le classement DB Engines de février 2022. Avant Oracle, AWS a proposé DocumentDB, tandis que Microsoft Azure fournit une API compatible pour Cosmos DB.
Les arguments d’Oracle pour AJD, présenté comme la combinaison d’un store OLTP et OLAP, MongoDB les porte aussi à travers sa base de données orientée documents. L’éditeur affirme que son produit peut traiter des données géospatiales, des séries chronologiques et autres, tandis que son offre Atlas permet de bâtir des data lakes afin d’analyser des données au format JSON, BSON, CSV, Avro, Orc ou encore Parquet.
Selon Holger Mueller, le fournisseur cloud cible davantage les entreprises qui chercheraient à exécuter leurs workloads MongoDB sur une seule base de données tout en réutilisant des actifs déjà développés.
« C’est essentiellement la demande des clients qui nous pousse à les aider à migrer vers Autonomous Database et à ne pas réécrire les applications ou à envisager de les réécrire pour les améliorer après coup », confirme Gerald Venzl pour justifier le développement de cette API.
Gerald VenzlProduct Manager, Oracle
Cette compatibilité des workloads Mongo sur Oracle AJD est aussi un moyen d’attirer de nouveaux clients, notamment ceux qui ont déjà adopté Atlas, le DBaaS multicloud de MongoDB, ou ceux qui seraient tentés de le faire.
Oracle veut aussi convaincre les startups, en mettant de nouveau en avant ses capacités Always Free qui permettent de tester assez largement les capacités d’OCI sans débourser le moindre centime.
Pour toutes ces raisons, le fournisseur de cloud sort l’artillerie lourde. Cela commence par le dépassement des limites imposées par MongoDB.
Multimodèle : Oracle veut aussi différencier Autonomous Database de Cosmos DB
Philosophiquement, Cosmos DB de Microsoft se rapproche du caractère multimodèle d’Autonomous Database, mais Gerald Venzl assure qu’il y a des différences fondamentales. « Cosmos DB est prétendument une base de données multimodèle. Elle permet le stockage de données orientées documents et relationnelles à partir du même moteur. Je dis prétendument parce que de ce que nous comprenons chez Oracle, notre vision multimodale est différente », déclare-t-il. « Cosmos DB réclame de choisir un mode d’opération par application. Ainsi, l’application considérera la base comme un entrepôt de documents, de graphes, de données relationnelles, mais il n’y a pas de capacités intégrées pour franchir ces limites ».
Sur Autonomous JSON Database, la taille des documents peut atteindre 32 Mo contre 16 Mo sur MongoDB Atlas, tandis que le nombre d’index par collection est illimité, contre 64 pour le DBaaS de Mongo. La profondeur d’un document est de 1 024 niveaux, contre 100 chez le concurrent. La taille des transactions serait illimitée également, alors que MongoDB recommande de mettre un seuil à 1 000 documents.
MongoDB n’a pas imposé des limites arbitrairement, selon ses concepteurs. Elles permettraient de mieux contrôler la conception des applications, de ne pas faire exploser la consommation de bande passante et de ne pas saturer la RAM d’une instance. L’éditeur propose l’API GridFS pour outrepasser la limite des tailles des documents, mais des fichiers plus gros avec une plus grande profondeur demandent de revoir les schémas et les index et en complexifient la gestion. D’ailleurs, les ingénieurs de MongoDB considèrent que des arrays trop volumineux génèrent des anti-patterns récurrents. Il est préférable de séparer les données dans plusieurs collections, ce qui est faisable, et ce sans créer de doublon.
De plus, ne pas respecter les limites imposées par MongoDB risque de complexifier la réversibilité des projets, si un jour Atlas gagne en attractivité économique ou technique.
Une tarification agressive
Car au-delà de considérations purement techniques, Autonomous JSON Database serait moins cher et plus performant.
Le prix à la demande d’Autonomous JSON Database serait de 2,74 dollars par heure pour une configuration comprenant 16 vCPU (8 OCPU) et 1 To de stockage. Oracle la compare avec la configuration M60 d’Atlas sur AWS, dotée de 16 vCPU, 64 Go de RAM et de 320 Go de stockage, pour 3,95 dollars par heure. Le fournisseur de cloud oublie de mentionner que la même instance avec les mêmes capacités coûte 3,29 dollars/heure sur Google Cloud.
De manière générale, Oracle assure que son offre est 30 % moins chère à ressources équivalentes.
Comme d’autres services sur OCI, Autonomous Database peut se voir allouer jusqu’à 256 vCPU (128 OCPU). MongoDB Atlas permet de déployer au maximum 96 vCPU sur Google Cloud, AWS et Azure.
Quant aux performances, Autonomous JSON Database serait 2,3 à 3,2 fois plus rapide à un coût similaire que MongoDB et 2 à 4,1 fois plus performant que DocumentDB, selon une étude réalisée par Wikibon pour le compte d’Oracle. Toutefois, ce comparatif a été publié il y a deux ans en se basant sur un benchmark réalisé par MongoDB en 2019 qui cherchait alors à évaluer les performances de ces instances par rapport à celles de DocumentDB.
Les autres arguments d’Oracle pour prouver sa supériorité – absence de véritable élasticité, d’API Rest pour accéder aux données, de politiques de sécurité exhaustives – risquent de hérisser les poils des responsables chez MongoDB, même si effectivement, la plupart de ces fonctionnalités réclament de mettre la main au portefeuille.
La question des licences demeure sur la table. MongoDB a fait le choix de quitter une licence open source pour une autre propriétaire, mais ouverte, SSPL. Oracle maintient le caractère propriétaire de son Autonomous Database. Des utilisateurs n’ayant pas encore fait le pas de passer sur Atlas, ceux qui utilisent une version communautaire du SGBD NoSQL pourraient très bien se tourner vers une autre base de données multimodèle open source capable de supporter les fichiers JSON : PostgreSQL.