Skip to main content

ADR 005 : Adoption de MongoDB 15 pour les données non relationnelles

Statut

info

Accepté

Contexte

Certaines parties de l'application requièrent une gestion flexible et évolutive des données non structurées, pour laquelle une base de données NoSQL est plus appropriée.

Décision

Nous avons décidé d'adopter MongoDB 15 pour la gestion des données non relationnelles.

  • Flexibilité : MongoDB 15 offre un modèle de données flexible, permettant des changements de schéma sans migrations lourdes.
  • Scalabilité : MongoDB est conçu pour une scalabilité horizontale, facilitant la gestion des charges de travail importantes.
  • Support et intégration : MongoDB est bien supporté dans l'écosystème Quarkus et possède une intégration mature avec Java.

Conséquences

  • ✅ Avantages :

    • Gestion simplifiée des données non structurées et semi-structurées.
    • Scalabilité horizontale native.
    • Réduction de la complexité lors des évolutions du schéma de données.
  • 🚫 Inconvénients :

    • Synchronisation potentiellement complexe entre MongoDB et les autres bases de données.
    • Nécessité de former l'équipe sur les bonnes pratiques MongoDB.

💡 Alternatives Considérées

  • Utilisation de PostgreSQL JSONB : Rester sur une base relationnelle avec des fonctionnalités NoSQL, mais avec des performances moindres pour de grandes collections de données non structurées.
  • Couchbase : Une autre base NoSQL, mais avec une communauté et des intégrations moins étendues que MongoDB.