MongoDB World : le jour où Atlas devint une plateforme de données
MongoDB a étoffé les services de sa plateforme cloud Atlas en la dotant d’un service de requêtage direct sur S3 et d’une méthode d’indexation des collections de documents dans Lucene. L’outil de visualisation de données de MongoDB rejoint officiellement la plateforme.
« Les enjeux autour des données ne s’arrêtent à la base de données. » C’est ainsi que Eliot Horowitz, le CTO et co-fondateur de MongoDB a souhaité confirmer le positionnement de la société au-delà des terres promises des bases de données, pour le faire entrer véritablement sur celui des plateformes de données. L’avenir de MongoDB se dessine aussi au-dessus de la base orientée documents et dans le cloud sur Atlas.
Atlas est la vision cloud de MongoDB. Lancé en 2017, cette plateforme est désormais déployée dans 64 régions du monde, sur les plateformes des trois ténors cloud, AWS, Azure et Google Cloud. Sa consommation a triplé depuis son lancement. Plus d’1,5 million de développeurs l’utilisent à date et pas uniquement des start-ups, lance Dev Ittycheria, le CEO de MongoDB, en ouverture de MongoDB World 2019. Au dernier trimestre 2019, les revenus générés par Atlas comptaient pour 32 % des revenus totaux de la société, soit une augmentation de 400 %.
Là se situe donc une des priorités clé de MongoDB. Et logiquement, il s’agit de lui apporter des briques supplémentaires. Cela s’est ainsi traduit par la présentation d’Atlas Data Lake et d’un moteur de recherche full-text intégré nativement à la plateforme.
Atlas Data Lake apparait comme un constat que S3, le service de stockage objet d’AWS, est devenu un service de stockage clé pour les entreprises, car peu coûteux pour y stocker des données non structurées en volume. « De grandes quantités de données y sont stockées, mais il faut manipuler et requêter ces données », lance Eliot Horowitz. C’est justement ce que fait Altas Data Lake. Ce service de requête serverless, comme l’indique Sahir Azam, en charge des produits cloud de MongoDB permet ainsi d’interroger les données de S3, et ce quel que soit leur format.
Lors d’une démonstration, les formats Parquet, AVRO, JSON, gz (fichiers compressés), BSON, CSV (et TSV) étaient supportés. « De plus en plus de nos clients essaient de mettre en œuvre leur stratégie d'analyse de données dans le cloud public, car des outils comme S3 sont le moyen le moins cher et le plus durable pour stocker des informations », raconte Sahir Azam.
Surtout S3 apparait ici comme une extension d’Atlas car les données contenues dans S3 peuvent être interrogées en MQL (MongoDB Query Language) le langage de requête de la société, sans avoir à les déplacer. Elles sont interrogées in situ à des fins analytiques, résume encore Sahir Azam. Les performances sont donc celles attendues pour ces cas d’usage et non pas pour des cas d’usages liés à des transactions, lance-t-il. MQL a été distribué pour l’occasion, pour pouvoir effectuer des traitements parallélisés.
« (Nos clients) veulent pouvoir utiliser la puissance de ce langage de requête expressif pour l'analyse, où le rapport prix/performance d'un système transactionnel ne fonctionne tout simplement pas. Si vous disposez de pétaoctets et de pétaoctets de données, il n'est pas toujours économiquement possible de tout mettre dans une base de données, pour trouver de l'information , une fois par semaine, ou si vous voulez regrouper des données pour produire des rapports », ajoute-t-il.
Un air de déjà-vu avec AWS Athena, un service requête dynamique SQL sur S3 développé par AWS ? Oui répond encore le responsable, mais « Atlas Data Lake a vocation d’être multi-plateforme (et non pas centré sur AWS) ». Et deuxièmement, « le langage de requête de MongoDB nous semble beaucoup plus naturel pour interroger de nombreux types de données dans S3 ».
Pour l’heure, ce service est uniquement disponible en béta pour S3, mais MongoDB travaille à l’étendre aux autres services sur Azure et Google Cloud, sans toutefois donner de date de lancement.
Parmi les autres travaux en cours, un responsable de MongoDB liste « la création d’index et l’ajout de statistiques », ainsi que le support d’autres formats de fichiers comme ORC, Excel et PDF.
Indexer les Collections directement dans Lucene
Toujours dans cette logique d’élargir le champ fonctionnel de sa plateforme, MongoDB a également présenté en beta publique une fonction de moteur de recherche full-text qui sera nativement intégrée à Atlas. Cette fonction permet en fait d’indexer les collections de documents (dans le langage MongoDB, une collection est un groupe de documents) contenues dans MongoDB afin de faciliter la recherche des informations de la base. Ce moteur indexe directement les informations selon le modèle de MongoDB. Cette capacité d’indexation repose directement sur Lucene, la librairie d’indexation open source de la Fondation Apache. Jusqu’alors, il fallait d’abord installer ElascticSearch ou SolR pour y parvenir. Ce moteur d’indexation tire donc un trait d’union direct en MongoDB et Lucene. Avec cette fonction, les index Lucene sont automatiquement créés, et sont mis à jour dynamiquement.
L’outil de dataviz, Charts, officiellement disponible
Enfin, l’autre annoncé clé autour d’Atlas présentée lors de cette édition 2019 de MongoWorld est la disponibilité en version finale de Charts, l’outil de visualisation de données de la marque. Jusqu’alors en beta, Charts représente le module de BI d’Atlas qui a la particularité de s’appliquer nativement aux modèles documents de MongoDB – sans autre transformation donc. Jusqu’alors, pour créer des tableaux de bord à partir des données contenues dans MongoDB, il fallait utiliser le BI Connector de la société, qui permet de créer une passerelle MQL vers SQL (du Document vers les tables) et de permettre au final d’utiliser des outils comme Tableau au-dessus d’une base MongoDB. Charts permet de s’en passer.
« Beaucoup de clients visualisaient des données qui ne se trouvaient que dans MongoDB. Et dans certains cas, ils prenaient les données de Mongo pour les placer dans ElasticSearch juste pour utiliser Kibana, qui est un outil de visualisation assez léger », explique Sahir Azam. Charts leur évite cette étape.
« Ce ne sera pas le principal outil de BI d'une entreprise, mais si des utilisateurs métiers veulent afficher rapidement sur un tableau de bord ou si un développeur veut contrôler une application en temps réel bâtie sur MongoDB, c'est un moyen facile », lance-t-il. D’ailleurs dans sa version finale, Charts se dote de possibilités de partage et d’intégration des tableaux de bord au sein d’applications tierces. Et ce uniquement via un simple copier-coller.
« Aujourd’hui, nous avons la possibilité que des utilisateurs métiers regardent nos produits et non plus uniquement des techniciens », conclut-il.