🗃️ MongoDB & SQL
📌 Définition
MongoDB est une base de données NoSQL orientée documents, idéale pour les applications flexibles, en temps réel et à forte volumétrie. SQL (Structured Query Language), quant à lui, est utilisé pour manipuler des bases relationnelles comme MySQL ou PostgreSQL. La maîtrise des deux types de bases est aujourd’hui indispensable pour un développeur full-stack, selon les besoins du projet : performance, structure, flexibilité ou normalisation.
📂 Mes éléments de preuve
Projet Elevators – Simulation avec MongoDB
Dans ce projet, j’ai choisi MongoDB pour stocker les appels d’ascenseurs, les boutons pressés, et les états de simulation. Ce modèle flexible m’a permis de structurer les documents sans schéma rigide. J’ai conçu les collections, géré les connexions à la base depuis Node.js, et assuré la persistance des appels utilisateurs.
Projet collaboratif – MySQL avec Spring Boot
En équipe, j’ai modélisé les entités SQL (utilisateurs, projets, tâches) dans une base MySQL, en utilisant Spring Data JPA. J’ai défini les relations entre tables, les contraintes, et j’ai manipulé les données à l’aide de requêtes JPQL et méthodes dérivées. Ce projet m’a permis de renforcer ma compréhension des bases relationnelles, de la normalisation, et du lien entre code Java et base SQL.
Millenium – Architecture hybride MongoDB + PostgreSQL
Dans l’équipe Millenium, j’ai travaillé sur un projet qui utilisait MongoDB pour la flexibilité (documents dynamiques) et PostgreSQL pour les données structurées. J’ai contribué à l’amélioration de requêtes MongoDB existantes, à l’ajout de nouvelles propriétés sur des documents, et à la gestion de migrations de données avec précaution.
🧠 Mon autocritique
Je suis à l’aise avec les modèles relationnels (SQL) et non relationnels (MongoDB).
J’ai appris à choisir la bonne base selon le besoin métier, à structurer des données cohérentes, et à écrire des requêtes performantes.
En SQL, je maîtrise les jointures, les contraintes, la gestion des identifiants, ainsi que JPA/Hibernate.
En MongoDB, je comprends la logique des documents, des collections, des index et des opérations d’agrégation simples.
Il me reste à approfondir les optimisations avancées (requêtes imbriquées, indexation stratégique, transactions complexes...).
📈 Mon évolution dans cette compétence
Pour progresser dans cette double compétence : J'ai la chance de travailler actuellement sur des projets microservices chez Mistertemp’ où j’utilise intensivement MongoDB et PostgreSQL. À terme, je veux être capable de concevoir une base de données robuste, documentée et performante pour tout projet full-stack.