Réaliser la migration d'une base de données relationnelle vers une base de données NoSQL et l'exploiter.
Nous avions, à notre disposition, une base de données relationnelle sqlite sur les transports urbains de Paris. Le but était de migrer cette base de données vers un environnement NoSQL (MongoDB)
afin de mieux gérer les flux en temps réel, des données semi-structurées (capteur), et une visualisation géographique dynamique.
Avant d'effectuer la migration, nous avons écrit une dizaine de requêtes SQL de test à partir de la base de données de base.
Ensuite, nous avons réfléchi à la construction de la base de données NoSQL, le nombre de collections et ce qu'elles vont contenir. Nous avons finalement choisi de faire 3 collections :
- arrêt : contient tout ce qui se rapporte aux arrêts, quartiers, capteurs et mesures.
- ligne : prend en compte les données qui se rapprochent des lignes, du trafic et des incidents.
- véhicule : ensemble des données liées aux véhicules, chauffeurs et horaires.
Après la migration, nous avons réécrit les requêtes de la première partie mais en mongoDB pour s'assurer que notre base de données NoSQL est correcte.
Pour finir ce projet, nous avons créé des indicateurs, des graphiques et des cartes sur une application Streamlit afin de produire un tableau de bord interactif.
- Qualité du code
- Qualité des commentaires
- Qualité des résultats : les résultats devaient être les mêmes pour les requêtes écrites en SQL et en MongoDB
- Respect du cahier des charges
- Apprendre à migrer une base de données relationnelles vers une base de données NoSQL
- Écrire des requêtes en MangoDB
- Approfondir l'utilisation du framework streamlit pour créer une application
Ce projet m'a permis de découvrir ce qu'est une base de données NoSQL et comment on peut requêter dessus en MongoDB. Il m'a aussi permis d'apprendre à faire une migration de base de données et de comprendre la différence entre une base de données relationnelle et NoSQL.
Voir l'application (GitHub)