====== TP Réplication et distribution des données en MongoDB ====== L'objectif de ce TP est de mettre techniquement en place la réplication, puis dans un 2eme temps la distribution des données en MongoDB. A cette fin 3 machines virtuelles supplémentaires vous seront attribuées. ===== Réplication ===== Mettre en place une réplication sur 3 machines de la collection zips du [[enseignement:tp:edo:intromongo|TP précédent]]. * [[http://docs.mongodb.org/manual/replication/|Documentation mongo]] Effectuer un test de charge à partir de la quatrième machine, montrant l'intérêt de la réplication en termes de performances pour la lecture. On pourra effectuer ce test pour différents types de requêtes: sélections simples, [[http://docs.mongodb.org/manual/core/map-reduce/|pipeline map/reduce]], [[http://docs.mongodb.org/manual/core/aggregation-pipeline/|aggregation pipeline]]. On s'intéressera en particulier à des requêtes pouvant avoir du sens au sein d'un cube de données. * [[http://docs.mongodb.org/manual/applications/drivers/|Page des drivers pour les différents langages]] ===== Distribution ===== Pour cette partie, on défera la configuration de réplication. On configurera ensuite les machine de façon à distribuer les données sur 2 machines. On expliquera les compromis nécessaires vis-à-vis de la configuration recommandée dans la documentation. * [[http://docs.mongodb.org/manual/sharding/|Documentation sur la distribution des données]] On envisagera plusieurs critères de partitionnement des données et on commentera sur leur pertinence. ===== Rendu ===== On rendra un rapport au format **pdf** expliquant: * la configuration du cluster MongoDB pour les 2 parties; * les tests de charge: leur principe, les résultats et les conclusions que l'on peut en tirer; * les critères de partitionnement des données et leur pertinence. Le rapport est à rendre avant le prochain TP (le 23/01/2015 à 10h) sur [[http://spiralconnect.univ-lyon1.fr/webapp/activities/activities.jsp?containerId=3960820|spiral]].