Témoignage MongoDB

 

Vincent PRELOT, Administrateur Base de Données chez DARVA

« MongoDB, une base de données NoSQL orientée document »

A travers son témoignage, Vincent PRELOT, Administrateur Base de Données, présente les apports de MongoDB pour nos équipes. En place depuis 2014, cette technologie permet de proposer à nos clients des plateformes de services avec un haut niveau de performance.

Pourquoi avoir choisi la solution MongoDB ?

En 2014, nous avons fait le choix de la solution MongoDB et du NoSQL (Not Only SQL) pour le développement de nos nouveaux services tels que Nomad, plateforme d’échanges entre les assisteurs et les dépanneurs/remorqueurs. Ce service, comme la plupart de nos offres, se caractérise par des exigences de disponibilité et de sécurité très fortes.

Par défaut, nos développeurs sont libres dans la modélisation des documents stockés en base. Ils correspondent à la sérialisation Json des objets métiers. Il est possible d’ajouter des contrôles de cohérence en base qui sont similaires aux comportements des bases traditionnelles (unicité, types, valeurs acceptées,…). Chaque langage de développement possède un « driver » officiellement supporté pour dialoguer avec la base (interrogation, mises à jour…).

 

Quel est le positionnement de DARVA pour la gestion des transactions ?

C’est le sujet le plus clivant dans l’adoption de MongoDB et du NoSQL. Même si la version 4.0 offre désormais la gestion des transactions, l’éditeur insiste sur la modélisation qui doit être pensée différemment pour garantir la cohérence des données et tirer profit de la souplesse du NoSQL. Notre activité d’échange de données est compatible avec ces principes mais d’autres précautions comme la vérification de l’idempotence ont été nécessaires pour garantir l’intégrité des données. C’est le cas pour Sinapps, notre plateforme collaborative pour la gestion des sinistres en habitation.

Et pour ce qui concerne la réplication ?

C’est la fonctionnalité incontournable pour assurer la résilience des services. Ici, les données sont répliquées à minima sur 3 copies (synchrones ou asynchrones).

L’application métier est connectée à l’ensemble mais une seule copie joue le rôle de nœud primaire. En cas d’incident, un des nœuds secondaires va prendre le relais dans un délai maximum de 3 secondes. Ce principe limite l’indisponibilité des services métier et les déconnexions observées avec d’autres technologies. Le fait que cette fonctionnalité soit native évite l’utilisation de mécanismes supplémentaires (réplication de disques, de VM, …).

Cette architecture nous permet désormais de réaliser des maintenances sur son infrastructure sans interruption de service sur nos applications en 24/7 (Sinapps, Nomad…). Les montées de version sont ainsi réalisées nœud par nœud, en quelques minutes sans coupure. Le retour arrière peut se faire avec la même souplesse, puisque les données métiers ne sont pas modifiées pendant cette opération.

Quels sont les apports de « sharding » ?

Ce type d’architecture nous permet une mise à l’échelle horizontale de la base de données (scaling). Pour ce faire, le stockage et l’interrogation des données sont distribués sur l’ensemble des serveurs alloués. Cela nous a permis de développer notre solution décisionnelle DbyD, plateforme de visualisation, d’exploitation et de valorisation de la data autour des événements climatiques et des factures bris de glace. Les temps de traitement ont été drastiquement diminués par rapport aux architectures traditionnelles et sont compatibles avec une alimentation quasi temps réel. L’utilisation du connecteur BI MongoDB nous permet ensuite d’accéder aux données depuis des outils décisionnels du marché comme Qlik Sense.

Pourquoi utiliser la licence entreprise ?

L’utilisation de la version « enterprise » de MongoDB nous donne la possibilité d’utiliser la solution « on premise » OPS Manager pour garantir le déploiement, la supervision et la sauvegarde des bases. Les données sont ainsi protégées en temps réel et les restaurations peuvent être effectuées à la seconde près. L’accès au support et à la formation « à la demande » est aussi un vrai plus pour nous.

Pour les équipe de l’Exploitation, le produit est facile à appréhender, les procédures sont compréhensibles et l’intégration avec les autres outils de l’entreprise basée sur des mécanismes standards (API, S3, systemd, …).

 

Et quelles sont vos attentes pour l’avenir ?

La fourniture d’images Docker nous permet désormais d’imaginer des solutions de déploiement encore plus simples pour les équipes de développement. A termes, elles pourront construire elles-mêmes des environnements MongoDB au travers d’un catalogue « self-service ».

Pour aller plus loin en termes d’évolution, une simplification de la configuration du chiffrement des données apporterait un gain de temps à nos équipes, notamment dans le cadre du respect des nouvelles réglementations imposées à nos applications telles qu’OREA, l’Outil pour les Recommandés Electroniques en Assurance.