Prototypage et évaluation de performances d un service de traçabilité avec une architecture distribuée basée sur Hadoop

Dimension: px
Commencer à balayer dès la page:

Download "Prototypage et évaluation de performances d un service de traçabilité avec une architecture distribuée basée sur Hadoop"

Transcription

1 Julien Gerlier Siman Chen Rapport de projet de fin d étude ASR 2010/2011 Prototypage et évaluation de performances d un service de traçabilité avec une architecture distribuée basée sur Hadoop Encadrants : - Bruno Defude (TMSP), - Elisabeth Brunet (TMSP), - Amin Sakka (Novapost)

2 Sommaire Sommaire... 2 Introduction... 3 I. Présentation du projet... 4 a) Contexte... 4 b) Objectifs... 4 c) Technologies choisies... 5 d) Travail à effectuer... 5 II. Cassandra... 6 a) Introduction... 6 b) La structure de données... 6 c) Les avantages d) Les limites III. Hadoop et HDFS a) Introduction b) Conception et déploiement d un système de fichiers distribué c) Prévention des échecs d écriture d) Paramètres de performances e) MapReduce IV. Mise en place du prototype et tests a) Environnement de travail b) Conception de la base de données c) Insertion massive dans la base d) Couplage Hadoop / Cassandra e) HBase V. Difficultés rencontrées a) Manque de documentation b) Matériel trop peu puissant Conclusion a) Conclusion personnelle b) Estimation du temps de travail Références... 22

3 Introduction Le cloud computing est un concept apparu récemment, mais de plus en plus à la mode dans le secteur de l informatique. Littéralement "l'informatique dans les nuages", il consiste pour les entreprises à externaliser et distribuer les ressources numériques qu'elles stockent, c est-à-dire l'utilisation de la mémoire et des performances des ordinateurs, avec des serveurs répartis dans le monde entier liés par un réseau, tel Internet. Les utilisateurs du nuage pourraient ainsi disposer d'une puissance informatique considérable et modulable. Novapost est une entreprise qui propose un services de dématérialisation de documents à valeur légales, comme des feuilles de paie par exemple, qui sont stockés sous forme numérique et suivi par un service de traçage qui enregistre les moindres opérations effectuées sur ces fiches afin de maintenir leur valeur légale. Pour l instant le service de Novapost repose sur une architecture client/serveur classique mais suite au nombre croissant de client, ils envisagent de totalement distribuer leur architecture. Notre projet de fin d étude a pour but d étudier les méthodes et technologies permettant réaliser la nouvelle architecture répartie. Nous nous intéresserons particulièrement aux technologies Cassandra, Système de Gestion de Base de Données (SGBD) NoSQL, et Hadoop, framework Java destiné aux applications distribuées et à la gestion intensive des données. Ce sont des technologies récentes, encore relativement peu connues du grand public mais auxquelles on associe déjà des grands noms parmi lesquels : Facebook, Yahoo ou encore Twitter. Ce présent rapport se divisera en cinq grandes parties. Dans un premier temps, nous allons présenter de manière détaillée notre les objectifs du projet et les étapes envisagées au départ. Puis, les deuxième et troisième parties porteront sur respectivement nos études de Cassandra et d Hadoop, les deux technologies clés de notre projet. La partie suivante explicitera les différents tests et développement que nous avons effectués. Enfin, nous parlerons dans une dernière partie des difficultés que nous rencontrées et des bilans que nous en avons tirés.

4 I. Présentation du projet a) Contexte Novapost est une entreprise qui propose à d autres entreprises un service de dématérialisation de leur processus de gestion documentaire, un exemple : la gestion des fiches de paie. Dans le monde de la dématérialisation, les exigences sur la traçabilité des documents sont très importantes. En effet, la dématérialisation des processus et des documents s inscrit dans un cadre législatif rigoureux, on doit tenir compte de la criticité des documents à gérer, et assurer leur pérennité ainsi que confidentialité. D où le besoin pour un service décrivant les opérations effectuées sur les documents par les différents systèmes et acteurs intervenant dans la chaine de traitement de ce dernier. Pour cela, Novapost a mis en place un service de traçabilité appelé «LX Track» : c est un service qui permet de centraliser les traces des opérations effectués sur les documents afin d assurer leur valeur probante. Ce service est constitué d un client web qui interroge le service de traçage, l ensemble des fichiers de trace étant indexés par une base SQL. b) Objectifs L une des priorités de Novapost est la performance : chaque service Novapost est développé pour être opéré dans un contexte de haute disponibilité, avec une capacité de traitement industriel. Un tel service doit supporter de brusque montée en charge sur des équipements standards (quand tout le monde consulte sa feuille de paie à la fin du mois par exemple). Or, le service actuel utilise une base de

5 données MySQL classique qui supporte de plus en plus mal ces montées en charge et ne sera bientôt plus adaptée en raison du nombre croissant de connexion et de fichiers à stocker. Pour cette raison, nous souhaitons rendre l architecture de ce service totalement réparti. Ceci nécessite l utilisation d un système de stockage distribué. c) Technologies choisies Pour l indexation des fichiers de traces, Novapost souhaite migrer le modèle relationnel actuel vers un model NoSQL («Not Only SQL») distribué pour assurer une évolutivité transversale du service. Parmi les nombreuses solutions NoSQL, Amin Sakka qui est notre contact chez Novapost nous a conseillé Cassandra, une SGBD (Système de gestion de base de données) NoSQL développé par la fondation Apache. Cassandra est conçue pour gérer des quantités massives de données réparties sur plusieurs serveurs (cluster), en assurant tout particulièrement une disponibilité maximale des données et en éliminant les point individuel de défaillance. Initialement développée par Facebook, l'application a été libérée dans l'espace open-source et rapidement adoptée par plusieurs grandes entreprises gérant d'importants volumes de données, telles que Twitter ou digg.com. Pour interroger les traces de manière la plus rapide possible, Novapost nous a proposé d utiliser une architecture basée sur Hadoop, un framework d implémentation de l algorithme MapReduce en Java développé lui aussi par Apache. Hadoop est un système scalable, avec une bonne tolérance aux fautes pour le stockage et le traitement de gros volumes de données. Il utilise un système de fichiers distribué appelé HDFS (Hadoop Distributed File System) mais peut aussi effectuer des opérations directement dans une base de donnée SQL. d) Travail à effectuer Les objectifs au commencement du projet étaient les suivants : Etudier Cassandra et son modèle de base de données Définir une structure de base de données adaptée Etudier Hadoop et l algorithme MapReduce Proposer une implémentation de prototype alliant Hadoop à Cassandra permettant d interroger les traces via des opérations MapReduce Effectuer des tests de performance du prototype : montée en charge, insertion massive de donnée, etc. Optimiser le modèle pour obtenir qu il soit au maximum parallélisé.

6 II. Cassandra a) Introduction Le modèle de donnée de Cassandra est plus ou moins dérivé de celui de BigTable, un SGBD NoSQL développé par Google. Les développement de Cassandra ont commencés au sein de Facebook, puis ont été transmis à la communauté Open Source. Cette base de données non relationnelle comme toute base NoSQL a pour but d'améliorer les bases de données dans une direction nécessitant une évolutivité horizontale. Sa structure se rapproche de celle de tous les autres modèle NoSQL : on dit que c est une base orientée colonne. Cassandra peut être pensée comme une structure à 4 dimensions dont les noms sont les Keyspaces, les ColumnFamily, les SuperColumns et les Colonnes. Un keyspace est composé de ColumnFamily, qui contient des lignes (rows), identifiés par une clé. Chaque row contient des colonnes. Une colonne est un triplet {clé, valeur, timestamp qui s apparente à un tuple. Une ColumnFamily peut être de type super : ses rows ne contiennent alors pas des colonnes mais des SuperColumn. Une SuperColumn est elle aussi un triplet {clé, valeur, timestamp, dont l élément «valeur» contient lui-même une colonne (triplet {clé, valeur, timestamp. Les SGBD classiques sont orientés lignes. Chaque ligne contient un tuple qui a un nombre précis d attributs. Dans un SGBD orienté colonne, chaque ligne peut stocker un nombre différent de colonnes, et deux lignes appartenant à la même ColumnFamily (plus ou moins équivalente à une table dans un SGBD classique) peuvent contenir des colonnes de types différents. Il n y a alors plus de relations entre les données au sens d un SGBD relationnel classique : il faut penser plus en termes d efficacité des requêtes qu en termes de relation entre les données. Les Keyspaces: b) La structure de données Il faut penser les keyspaces comme des espaces de travail, des domaines. Il s agit du plus haut niveau d organisation de Cassandra. Les colonnes : Les colonnes sont des structures qui sont identifiées par une clé (aussi appelé nom) et une valeur défini par l utilisateur ainsi que par un timestamp qui indique la dernière date à laquelle a été modifiée la donnée. Il faut noter que dans Cassandra les clés ont une valeur informative, elles ne sont pas générées de manière arbitraire comme pour les tuples d une base de données SQL. Ainsi on peut par exemple

7 prendre comme clé le nom de l attribut, comme dans cet exemple : { // ceci est une colonne name: " address", value: timestamp: Les colonnes peuvent être triées par leur clé ou leur timestamp. Ce paramètre doit être déterminé à la création de la ColumnFamily, car les colonnes sont triées à leur insertion. Les super-colonnes : Les colonnes de type super sont des structures qui ont une clé, un timestamp et qui ont pour valeur un nombre infini de colonnes associées, chacune repérée par une clé qui est simplement le nom de la colonne. Ils ont les mêmes caractéristiques que les colonnes. L ordre de tri peut encore être explicitement donné dans un fichier de configuration, pour chacune des familles de colonnes. { // cest une SuperColumn name: "homeaddress", value: { // qui contient 3 colonnes {name: "street", value: "1234 x street", timestamp: , {name: "city", value: "san francisco", timestamp: , Si on simplifie en ignorant le timestamp et les écritures de name value on obtient quelque chose plus lisible: homeaddress: { street: "1234 x street", city: "san francisco", Les familles de colonnes (ColumnFamily) : Un keyspace est composée d une ou plusieurs Familles de colonnes. Le nombre, le nom, le type (simple ou super), le format de stockage des données, ainsi que les autres paramètres des ColumnFamily sont fixés lors de leur création. Il n y pas de limitation quant au nombre de Familles de colonnes mais ce nombre doit rester

8 relativement restreint : chacune d elle est stockées dans des systèmes de fichier distinct, il est donc plus couteux d accéder à plusieurs ColumnFamily différentes simultanément. Au sein de chaque famille, les données sont stockées en ligne (identifié par une clé elle aussi défini par l utilisateur) qui contient un ensemble de colonnes ou de super colonnes. On est assez proche dans ce cas de la notion de table, au sens SGBDR classique. UserProfile = { // ceci est une ColumnFamily phatduckk: { // ceci est la cléde la row // cette row contient 3 colonnes username: "phatduckk", phone: "(900) ", // end row ieure: { // ceci est la clé d une autre row de la même ColumnFamily // cette row contient 5 colonnes username: "ieure", phone: "(888) " age: "66", gender: "undecided", Les familles de colonnes peuvent être de type Super également, dans ce cas chaque ligne contient un ensemble de SuperColumns et sont toujours identifiées par une clé. AddressBook = {// ceci est une ColumnFamily de type super (ou SuperColumnFamily) Paul: { // ceci est la cléde la row, elle correspond ici au propriétaire de l AddressBook // ici nous avons deux SuperColumn dans cette row, chaque SuperColumn est une entrée de l AdressBook John: { // SuperColumn qui contient 3 colonnes street: "Howard street", zip: "94404", city: "FC", state: "CA", Kim: { street: "X street", zip: "87876",

9 city: "Balls", state: "VA",, // end row Pierre: {// ceci est la clé d une autre row joey: { street: "A ave", zip: "55485", city: "Hell", state: "NV", William: { street: "Armpit Dr", zip: "93301", city: "Bakersfield", state: "CA",, Ci-dessous un exemple graphique pour la gestion de magasins de jouets :

10 c) Les avantages Flexibilité du schéma : Cassandra permet de ne pas figer les structures qui seront utilisées. On peut ajouter ou en retirer au fur et à mesure des SuperColumn ou des colonnes indépendamment pour chaque row. Attention il faut néanmoins, au moment du démarrage du cluster fixer les noms des keyspaces et des ColumnFamily qui seront utilisées (on ne peut pas créer à la volée). Scalabilité réelle : Cassandra permet de passer à l échelle très facilement. On peut ajouter une machine à la volée sans avoir a redémarrer aucun processus, ni changer les requêtes ou avoir a re-dispatcher les données. Par ailleurs, des outils permettent d équilibrer le volume de donnée entre les différents nœuds automatiquement. Ecritures distribuées : Cassandra est conçue pour que les écritures n échouent jamais, il n y a pas de «single point of failure» : si un nœud tombe, un autre prend le relais. Par ailleurs les données sont répliquées lors de l écriture. Ainsi si un nœud tombe on peut accéder à la donnée sur un autre nœud. d) Les limites Toutes les données contenues dans une row doivent tenir sur un même disque, car seules les clés des rows sont utilisées pour déterminer les facteurs de réplication de celle-ci entre les différents nœuds. Une colonne ne doit par ailleurs pas excéder la taille de 2 GB. En outre, dans les ColumnFamily de type super, seule les colonnes sont indexées, et donc l accès à une colonne déserialise toutes les colonnes qui sont contenues dans la même SuperColumn. Cet inconvénient devrait être supprimé dans les prochaines versions. III. Hadoop et HDFS a) Introduction HDFS est un système de fichier distribué. Il se démarque des autres systèmes de fichier distribués par sa grande tolérance aux fautes et le fait qu il soit conçu pour être déployé sur des machines à faible coût. HDFS fournit un haut débit d accès aux données et est adapté pour les applications qui nécessitent de grands groupes de données. Il a été à l origine conçu pour le projet de moteur de recherche web Apache Nutch.

11 b) Conception et déploiement d un système de fichiers distribué HDFS a une architecture de type maitre/esclave. Un cluster HDFS est constitué d un unique NameNode, un serveur maitre qui gère le système de fichier et notamment les droits d accès aux fichiers. A cela s ajoute des DataNodes, en général un par nœud dans le cluster, qui gère le stockage des données affectés au nœud sur lequel elle se trouve. HDFS dispose d un espace de nom et permet de stocker les données sous forme de fichiers. Chaque fichier est divisé en blocs, qui sont stockées dans un groupe de DataNodes. Ce sont eux qui répondent aux requêtes de lecture et écriture qui vienne du client, et ce sont eux également qui gèrent la création, la suppression et la réplication des blocs selon les instructions du NameNode. HDFS est conçu pour tourner sur des machines simples sous GNU/linux, et est programmé en Java. Toute machine qui dispose de Java peut donc faire tourner un NameNode ou un DataNode. Les noeuds communiquent entre eux via SSH. Il faut donc entrer la clé publique de chaque DataNode dans le fichier authorized_keys du NameNode afin qu il puisse se connecter aux autres noeuds via ssh sans avoir besoin de taper un mot de passe à chaque fois. Le NameNode dispose d un fichier de configuration dans lequel il entre l adresse de chaque machine sur laquelle tourne un DataNode, et se connecte ensuite à chacune de ces machines via SSH au démarrage de HDFS. Par ailleurs, le NameNode est l arbitre et le dépositaire de toutes les métadonnées du HDFS. HDFS est conçu de

12 telle sorte qu aucune donnée de l utilisateur ne transite par le NameNode. Chaque donnée insérée dans HDFS est répliquée pour assurer sa persistance. Le facteur de réplication est égal à 3 par défaut, mais il peut être modifié pour chaque fichier. Par ailleurs, HDFS est «rack-aware», c'est-à-dire que la réplication s adapte à l architecture du cluster. Ainsi si on laisse le facteur de réplication par défaut à 3, en écrivant un block sur un DataNode, HDFS va ensuite écrire la première réplique sur un nœud dans un autre rack, puis la dernière réplique sur un nœud du même rack que la première. c) Prévention des échecs d écriture Chaque DataNode envoie périodiquement un heartbeat au NameNode. Si le NameNode ne reçoit plus ce heartbeat d un DataNode, il considère ce dernier comme inaccessible, et re-réplique les données en conséquence. Par ailleurs, HDFS intègre un mécanisme de checksum afin de détecter les données corrompues. Ainsi, à sa création chaque fichier du HDFS se voit attribuer un checksum. Quand un client accède à un fichier dans le HDFS, il vérifie que les données reçues de chaque DataNode corresponde au checksum donné. Si ce n est pas le cas, il peut choisir de récupérer un bloc de données d un autre DataNode qui en a la réplique. Le seul single point of failure est le NameNode. Si ce dernier tombe, il est nécessaire de le redémarrer manuellement, sauf si on a lancé l exécution d un SecondaryNameNode qui peut alors prendre le relais. d) Paramètres de performances HDFS est fait pour stocker de gros fichiers (chaque fichier est divisé en bloc de 64 MB par défaut). D après la documentation officielle, un fichier typique dans HDFS fait une taille de l ordre du GB voire du TB. HDFS est fait pour une très grande scalabilité et tourne déjà en production sur des très gros clusters (plus de 1000 machines) dans des sociétés comme Facebook ou Yahoo. HDFS est également fait pour qu on puisse y insérer de très gros fichiers très rapidement (quelques minutes pour quelques GB), du moment qu on dispose d un cluster assez puissant, en terme de puissance de calcul aussi bien qu en terme de charge réseau. De plus HDFS est avant tout conçu pour être utilisé avec Hadoop. La philosophie de l implémentation d Hadoop repose sur le principe qu il est plus efficace de déplacer de la capacité de calcul que des donnés ( Moving Computation is Cheaper than Moving Data ). HDFS fournit donc une interface pour pouvoir déplacer le traitement

13 des données au plus près de celles-ci. En outre, Hadoop n est pas fait pour exécuter un job de manière ponctuelle, mais plutôt pour exécuter une file de jobs en mode batch de manière périodique. Yahoo! a développé des outils afin de gérer la planification et la sécurisation de l exécution de jobs et notamment dans le cas ou plusieurs utilisateurs utilisent le même cluster. Par ailleurs HDFS ne gère pas pour l instant le rééquilibrage de charge. Ainsi si on rajoute un DataNode, aucune donnée ne sera déplacée vers celui-ci afin de répartir la charge, il faut le faire manuellement. e) MapReduce L'opération "map", écrit par l'utilisateur, consiste à produire une paire clé/valeurs intermédiaire pour chaque paire de clé/valeur reçue en entrée. Ensuite la librairie MapReduce groupe toutes les clés intermédiaires associées à la même valeur et les passe à la fonction "reduce". L'opération "reduce" consiste à fusionner les valeurs d'une même clé intermédiaire afin de créer une unique valeur associée à cette clé et renvoyer un unique couple clé/valeur en sortie pour chaque clé intermédiaire. L exemple classique est celui du WordCount. En entrée l'algorithme reçoit le couple "nom du document"/"contenu". L'opération "map" crée une liste de couple clé intermédiaire/valeur (ici "mot recherché/"1" où "1" correspondant à une occurrence du mot dans le contenu du document) qu'elle passe à la fonction "reduce". Ensuite la fonction "reduce" fusionne les couples de clés intermédiaire/valeur correspondant à la même clé intermédiaire (ici "mot recherché") en incrémentant un compteur pour chaque occurrence de la même clé dans la liste de clés intermédiaires. Elle renvoie ensuite en sortie le couple clé/valeur "mot recherché"/"nombre d'occurrence". Les jobs MapReduce se structurent toujours autour de trois parties : deux classes static «Mapper» et «Reducer», et une méthode main qui dirige l application. L exécution des jobs se fait à l aide d un JobTracker et de Tasktrackers : lors de son exécution le job est soumis au JobTracker qui s occupe de le distribuer au Tasktracker qui tourne sur chaque nœud. Le JobTracker choisit toujours les TaskTracker qui sont les plus proches de l emplacement de la donnée à traiter.

14 IV. Mise en place du prototype et tests a) Environnement de travail Nous avions besoin des droits administrateur pour pouvoir travailler avec Hadoop et Cassandra. Ainsi nous avons choisi de travailler avec les machines virtuelles installées sur les comptes Unix de l école, le tout sur des comptes locaux afin d avoir un espace de stockage suffisant et un système de fichier performant. Nous avons cependant été limités par la performance du matériel : il n est possible d affecter qu un seul cœur à une machine virtuelle et seulement la moitié de la RAM totale (soit 2 GB) du PC hôte. Nous avons travaillé avec la version 0.7 beta 2 de Cassandra, car la version 0.7 apporte de nombreuses fonctionnalités supplémentaires par rapport à la version 0.6, notamment en termes de compatibilité avec Hadoop. Par ailleurs nous avons utilisé la version 0.21 d Hadoop. b) Conception de la base de données Cassandra est une base de donnée NoSQL, il faut pour cela s affranchir de la pensée «relationnelle» des bases de données classiques : la base doit être construite afin de permettre l accès le plus rapide possible aux données, quitte à avoir des redondances. Ainsi Amin Sakka a préféré ne pas nous donner le schéma de la base de données relationnelle utilisée par Novapost actuellement, mais plutôt les requêtes principales par lesquelles s opèreront les accès aux fichiers dans la base.

15 Les requêtes en question sont les suivantes : String createtrack (String documentid, String identificationsystem) : crée une trace pour un document, retourne l'identifiant de trace unique TUUID void addaction (String trackid) : ajoute une action à la trace du document void addaction (String documentid, String identificationsystem) : ajoute une action à la trace du document Track gettrackbytrackid (String trackid): retourne la trace d'un document Track gettrack(string documentid, String identificationsystem) : retourne la trace d'un document List <Track> gettrackbyfingerprint (String fingerprint, String algorithm): retourne la liste de traces des documents ayant cette empreinte (le résultat est une liste car plusieurs copies du même document peuvent exister) Ainsi, nous nous sommes mis d accord sur le modèle suivant (ici en notation JSON) : Keyspace : LXTrack { "Document" (SCF){ RowKey: ApplicationReference { SCKey: OwnerReference { {name:"tuuid" value: TUUID {name: form, value: FingerPrint "Track" (SCF){ RowKey: "Declaration" { SCKey: TUUID { {name: timestamp, value: declarationcontent RowKey: "Document" { SCKey: TUUID { {name: ApplicationReference, value: OwnerReference RowKey: "Fingerprint {

16 SCKey: TUUID { {name: form, value: FingerPrint "Fingerprint" (SCF){ { RowKey: "Document" { SCKey: FingerPrint { {name: ApplicationReference, value: OwnerReference RowKey: "Track" { SCKey: FingePrint { {name: algorithm, value: TUUID Nous avons choisir de répéter certaines données, car d une part cela permet d effectuer chaque requête de manière toute aussi efficace. D autre part Cassandra est construite de telle sorte que les écritures sont plus rapides que les lectures, ce qui nous a poussés à penser en termes d optimisation des accès et non des insertions. Par ailleurs même si répliquer les données ne nous a pas paru être une solution optimale d un point de vue sécurité (la même donnée est écrite deux fois à des moments différents à deux endroits différents, ce qui ne garantie pas la consistance de cette donnée), elle avait l avantage de nous permettre de pouvoir comparer différentes façons d accéder aux données avec Hadoop. c) Insertion massive dans la base Nous avons effectués des insertions massives de traces dans Cassandra en suivant le modèle décrit précédemment sur un cluster de 2 puis de 5 machines. Ainsi l objectif était d insérer 10 millions de traces dans Cassandra.

17 Pour cela nous avons utilisé un client haut niveau développé pour Cassandra appelé Hector. Ce dernier fournit une API facilement compréhensible pour insérer et accéder à des données dans Cassandra, le client fournit avec Cassandra, Thrift, étant bas niveau et plutôt difficile à prendre en main. Hector gère un grand nombre de paramètres de manière automatique, ce qui permet de faire des insertions et requêtes de manière assez simple. Cependant, nous ne sommes jamais arrivés à un tel résultat. En effet, Cassandra est censé flusher les données sur le disque quand son «heap space» (mémoire vie allouée à Cassandra) dépasse un certain seuil, ce qu elle ne fait pas. Au lieu de ça Cassandra flush de moins en moins les données jusqu à se retrouver bloquée et crasher. Nous avons essayé de forcer Cassandra à flusher en modifiant de nombreux paramètres mais ça n a rien changé. Ainsi, nous n avons pu insérer qu environ traces dans la base de donnée sur un cluster de 5 machines. Evolution du heap space pour l insertion de traces consécutives (machine qui insérait les données) : Allure de la courbe sur les autres machines (le heap space de la machine n était ici pas vide au démarrage du test) :

18 Ainsi on remarque que les donnés sont principalement insérées sur la machine ou s exécute le programme d insertion mais également distribuées sur les autres machines. Par ailleurs Cassandra stocke ses données sous plusieurs formes : tout d abord dans son heap space, puis dans des commitlogs, qui sont des fichiers écrit en permanence durant l exécution au cas où le nœud crash, et enfin dans son système de fichier sur le disque lorsque le heap-space est flushé. Ainsi nous avons vu sur plusieurs forums des utilisateurs de Cassandra conseiller de ne pas écrire les commitlogs et les flushs du heap space sur le même disque afin de gagner en performance, ce que nous ne pouvions pas faire. De plus, les utilisateurs conseillent un heap space de l ordre de 4 à 8 GB pour faire tourner Cassandra, le fait que nous ne disposions que de 1 GB a surement limiter nos possibilités de test. d) Couplage Hadoop / Cassandra Nous avons installé et fait fonctionner Hadoop et HDFS sur un cluster de 6 machines sans problèmes. Nous avons notamment pu exécuter un job MapReduce simple, le célèbre wordcount, qui compte les mots contenus dans plusieurs fichiers. Nous avons cependant été surpris par le temps que mettait Hadoop pour effectuer une opération aussi simple à partir de fichier contenus dans le HDFS, ce qui a confirmé le fait que HDFS est fait avant tout pour stocker de gros fichier, l accès aux fichiers étant plutôt long. Nous avons ensuite entrepris de faire fonctionner Hadoop au dessus de Cassandra, étant donné que Cassandra fournit une interface pour surcharger les classes d Hadoop de manière à ce que ce dernier charge ses données directement depuis

19 Cassandra au lieu de les charger depuis le HDFS. Cependant, nous n avons pas réussi à exécuter de job MapReduce avec cette interface. Après des recherche sur des forums et des mailing liste relatives à l utilisation d Hadoop, il se trouve que nous avons utilisé une version de Cassandra trop ancienne (la version stable est sortie mi-janvier) avec une version d Hadoop trop récente (apparemment la version 0.21 comporte encore de nombreux bugs liés à l interface avec Cassandra). Cependant il était trop tard pour migrer toute notre configuration. e) HBase Il nous a semblé judicieux de comparer Cassandra à HBase, car même si nous n avions ni le temps ni le matériel pour réellement effectuer des tests de performances permettant de comparer les deux, nous avons essayé de faire l inventaire des principales caractéristiques et différences entre ces deux SGBD NoSQL. Par ailleurs, HBase a été développé dans le but premier d être compatible avec Hadoop, il y a donc de fortes chances qu il soit plus facile d implémenter Hadoop sur HBase. Cependant le personnel de Novapost souhaitait que nous utilisions Cassandra car eux-mêmes s étaient documenté sur le sujet et jugeait que ce SGBD serait plus adapté à leur besoins. Ainsi nous sommes arrivés à cette comparaison établie suite aux avis que nous avons pu lire sur des blogs et sites spécialisés : Cassandra Pas de notion de table Tri des colonnes Concept de SuperColumn => flexibilité Support de Map Reduce très récent. Nécessité d un cluster Hadoop => transfert entre cluster. Cassandra adapté au stockage mais moins au traitement de données Maintenance relativement simple si pas d Hadoop Hbase La notion de tables existe Pas de tri de colonnes Pas de SuperColumn Map Reduce a toujours été utilisé avec Hbase. Hbase construit sur Hadoop => Pas de transfert de données. Hbase très bien adapté au traitement de données. Maintenance assez complexe Pas de Java API et peu de documentation Possède un Java API => Facilite la documentation Pas de serveur maître => Pas de «Single Point of failure» Serveur maître à la fois Datanode et Namenode, si serveur maître en panne, seul le Namenode pose problème Adapté aux clusters de machines situées à Adapté même aux clusters

20 courtes distances les uns des autres, repose sur la rapidité de transfert sur fibre Donne priorité à la disponibilité des données transcontinentaux. Donne priorité à la consistance des données V. Difficultés rencontrées a) Manque de documentation La principale difficulté que nous avons rencontrée a été le manque de documentation due à la nouveauté des technologies utilisées, notamment Cassandra. En effet il y a un grand engouement pour ces technologies, mais peu de gens maitrisent leur mise en production. Ainsi de nombreux articles de blog ou de sites spécialisés détaillent les pour et les contre de chaque implémentation, et annoncent les différentes fonctionnalités offertes par chaque technologie, mais peu de documentation existe sur la mise en application de ces technologies. Par ailleurs, nous pensions au départ que le développement du prototype pour Novapost était l objectif principal, mais nous avons compris au fur et à mesure des discussions avec nos professeurs encadrant que l objectif était avant tout de bien comprendre et de tester Hadoop et Cassandra car eux-mêmes ne connaissaient que très peu ces technologies, ils comptaient donc en premier lieu sur nous pour bien leur expliquer leur fonctionnement et les problèmes associés afin d évaluer la viabilité d une mise en production. Ainsi de nombreux messages d erreurs sont restés inexplicables pour nous malgré nos recherches, et il était assez frustrant de voir sur les forums que nous n étions pas les seuls à tomber sur ces erreurs mais que personne ne pouvait donner de solution. b) Matériel trop peu puissant Les machines virtuelles nous ont offert un grand confort de travail, mais elles étaient limitées par la faible puissance qu on pouvait leur affecter. A de nombreuses reprises nous avons constatés que les personnes qui utilisent Hadoop conseillent des configurations assez musclés (8 GB de RAM et au moins 4 cœurs) qui sont loin de la puissance de notre machine virtuelle monoprocesseur dotée de 2 GB de RAM. En outre nous n avons jamais pu faire tourner le cluster sur plus de 6 machines, ce qui limite également la performance. Ainsi nous avons pu mettre en place des tests mais les résultats ne nous permettent pas vraiment d évaluer les performances d Hadoop et Cassandra de manière chiffrée. Elles nous ont cependant permis d évaluer la complexité de la mise en place d un tel

Prototypage et évaluation de performances d un service de traçabilité avec une architecture distribuée basée sur Hadoop

Prototypage et évaluation de performances d un service de traçabilité avec une architecture distribuée basée sur Hadoop Prototypage et évaluation de performances d un service de traçabilité avec une architecture distribuée basée sur Hadoop Soutenance de projet ASR 27/01/2011 Julien Gerlier Siman Chen Encadrés par Bruno

Plus en détail

Plan. Pourquoi Hadoop? Présentation et Architecture. Démo. Usages

Plan. Pourquoi Hadoop? Présentation et Architecture. Démo. Usages 1 Mehdi LOUIZI Plan Pourquoi Hadoop? Présentation et Architecture Démo Usages 2 Pourquoi Hadoop? Limites du Big Data Les entreprises n analysent que 12% des données qu elles possèdent (Enquête Forrester

Plus en détail

Programmation parallèle et distribuée (Master 1 Info 2015-2016)

Programmation parallèle et distribuée (Master 1 Info 2015-2016) Programmation parallèle et distribuée (Master 1 Info 2015-2016) Hadoop MapReduce et HDFS Note bibliographique : ce cours est largement inspiré par le cours de Benjamin Renaut (Tokidev SAS) Introduction

Plus en détail

Programmation parallèle et distribuée

Programmation parallèle et distribuée Programmation parallèle et distribuée (GIF-4104/7104) 5a - (hiver 2014) Marc Parizeau, Département de génie électrique et de génie informatique Plan Mégadonnées («big data») Architecture Hadoop distribution

Plus en détail

Programmation parallèle et distribuée

Programmation parallèle et distribuée Programmation parallèle et distribuée (GIF-4104/7104) 5a - (hiver 2015) Marc Parizeau, Département de génie électrique et de génie informatique Plan Données massives («big data») Architecture Hadoop distribution

Plus en détail

Big Data. Cyril Amsellem Consultant avant-vente. 16 juin 2011. Talend 2010 1

Big Data. Cyril Amsellem Consultant avant-vente. 16 juin 2011. Talend 2010 1 Big Data Cyril Amsellem Consultant avant-vente 16 juin 2011 Talend 2010 1 Big Data Architecture globale Hadoop Les projets Hadoop (partie 1) Hadoop-Core : projet principal. HDFS : système de fichiers distribués

Plus en détail

Bases de données documentaires et distribuées Cours NFE04

Bases de données documentaires et distribuées Cours NFE04 Bases de données documentaires et distribuées Cours NFE04 Cloud et scalabilité Auteurs : Raphaël Fournier-S niehotta, Philippe Rigaux, Nicolas Travers prénom.nom@cnam.fr Département d informatique Conservatoire

Plus en détail

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Oussama ELKACHOINDI Wajdi MEHENNI RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Sommaire I. Préliminaire : Notice d exécution et mode opératoire...4 II. Architecture globale de l application...5

Plus en détail

Fouillez facilement dans votre système Big Data. Olivier TAVARD

Fouillez facilement dans votre système Big Data. Olivier TAVARD Fouillez facilement dans votre système Big Data Olivier TAVARD A propos de moi : Cofondateur de la société France Labs Développeur (principalement Java) Formateur en technologies de moteurs de recherche

Plus en détail

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture API04 Contribution Apache Hadoop: Présentation et application dans le domaine des Data Warehouses Introduction Cette publication a pour but de présenter le framework Java libre Apache Hadoop, permettant

Plus en détail

Introduction aux systèmes d exploitation

Introduction aux systèmes d exploitation Introduction aux systèmes d exploitation Le système d exploitation est un ensemble de logiciels qui pilotent la partie matérielle d un ordinateur. Les principales ressources gérées par un système d exploitation

Plus en détail

Concours interne d ingénieur des systèmes d information et de communication. «Session 2010» Meilleure copie "étude de cas architecture et systèmes"

Concours interne d ingénieur des systèmes d information et de communication. «Session 2010» Meilleure copie étude de cas architecture et systèmes Concours interne d ingénieur des systèmes d information et de communication «Session 2010» Meilleure copie "étude de cas architecture et systèmes" Note obtenue : 14,75/20 HEBERGE-TOUT Le 25 mars 2010 A

Plus en détail

Business & High Technology

Business & High Technology UNIVERSITE DE TUNIS INSTITUT SUPERIEUR DE GESTION DE TUNIS Département : Informatique Business & High Technology Chapitre 09 : CC : Cloud Computing Sommaire Introduction... 2 Définition... 2 Les différentes

Plus en détail

Solutions de gestion de la sécurité Livre blanc

Solutions de gestion de la sécurité Livre blanc Solutions de gestion de la sécurité Livre blanc L intégration de la gestion des identités et des accès avec l authentification unique Objectif : Renforcer la politique de sécurité et améliorer la productivité

Plus en détail

Document d évaluation système

Document d évaluation système CODAZZI Rama DAMOTTE Alan GUI Kai HAMMERER Jérémy TORCK Quentin RICM5 Document d évaluation système Groupe 2 Site de vente de stickers personnalisés My Stick It ETAT DE CHAQUE COMPOSANT : NON REALISE,

Plus en détail

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium dans le cadre du projet JASMINe Avril 2008 Table des matières 1 Introduction 3 1.1 Rappel sur JASMINe.......................................

Plus en détail

Big Data Concepts et mise en oeuvre de Hadoop

Big Data Concepts et mise en oeuvre de Hadoop Introduction 1. Objectif du chapitre 9 2. Le Big Data 10 2.1 Introduction 10 2.2 Informatique connectée, objets "intelligents" et données collectées 11 2.3 Les unités de mesure dans le monde Big Data 12

Plus en détail

4D v11 SQL Release 5 (11.5) ADDENDUM

4D v11 SQL Release 5 (11.5) ADDENDUM ADDENDUM Bienvenue dans la release 5 de 4D v11 SQL. Ce document présente les nouveautés et modifications apportées à cette nouvelle version du programme. Prise en charge de nouvelles plates-formes La release

Plus en détail

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing Les Clusters Les Mainframes Les Terminal Services Server La virtualisation De point de vue naturelle, c est le fait de regrouper

Plus en détail

ITIL V2 Processus : La Gestion des Configurations

ITIL V2 Processus : La Gestion des Configurations ITIL V2 Processus : La Gestion des Configurations Auteur: Fabian PIAU, Master 2 MIAGE, Nantes La Gestion des Configurations est un processus issu d ITIL version 2 qui aide au soutien du service («Service

Plus en détail

Présentation. Logistique. Résumé de la 1e Partie. Mise en place du système

Présentation. Logistique. Résumé de la 1e Partie. Mise en place du système Présentation Diapo01 Je m appelle Michel Canneddu. Je développe avec 4D depuis 1987 et j exerce en tant qu indépendant depuis 1990. Avant de commencer, je tiens à remercier mes parrains Jean-Pierre MILLIET,

Plus en détail

Défi Cloud Computing

Défi Cloud Computing EQUIPE RICM 2010 Défi Cloud Computing Dossier de remarques Ricom c est l @base 04/12/2009 Sommaire Introduction... 3 Les applications et la plateforme Cloud Computing... 4 Cloud Computing - RICM-2010 Page

Plus en détail

CREER ET FORMATER UNE PARTITION DE DISQUE DUR 1 QUE SONT LES PARTITIONS ET LES LECTEURS LOGIQUES? 6

CREER ET FORMATER UNE PARTITION DE DISQUE DUR 1 QUE SONT LES PARTITIONS ET LES LECTEURS LOGIQUES? 6 Table des matières. CREER ET FORMATER UNE PARTITION DE DISQUE DUR 1 QUE SONT LES PARTITIONS ET LES LECTEURS LOGIQUES? 6 QUE SONT LES DISQUES DE BASE ET LES DISQUES DYNAMIQUES? 6 FORMATAGE DES DISQUES ET

Plus en détail

IFT630 Processus concurrents et parallélisme. Projet final Rapport. Présenté à Gabriel Girard

IFT630 Processus concurrents et parallélisme. Projet final Rapport. Présenté à Gabriel Girard IFT630 Processus concurrents et parallélisme Projet final Rapport Présenté à Gabriel Girard par Alexandre Tremblay (06 805 200) Pierre-François Laquerre (05 729 544) 15 avril 2008 Introduction Après plusieurs

Plus en détail

SQL-ON-HADOOP. Veille Technologique et Stratégique 2015 Guo Kai Élève de RICM 5 Kai.Guo@e.ujf-Grenoble.fr

SQL-ON-HADOOP. Veille Technologique et Stratégique 2015 Guo Kai Élève de RICM 5 Kai.Guo@e.ujf-Grenoble.fr SQL-ON-HADOOP Veille Technologique et Stratégique 2015 Guo Kai Élève de RICM 5 Kai.Guo@e.ujf-Grenoble.fr Données structurées (RDBMS) Exiger de strictement être organisé Annexer à RDBMS sans couture Consultable

Plus en détail

L INFORMATION GEOGRAPHIQUE

L INFORMATION GEOGRAPHIQUE Champs sur Marne ENSG/CERSIG Le 19-nove.-02 L INFORMATION GEOGRAPHIQUE Archivage Le Système d information géographique rassemble de l information afin de permettre son utilisation dans des applications

Plus en détail

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1 LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1 SAS Cost and Profitability Management, également appelé CPM (ou C&P), est le nouveau nom de la solution SAS Activity-Based Management. Cette version

Plus en détail

Encryptions, compression et partitionnement des données

Encryptions, compression et partitionnement des données Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des

Plus en détail

Introduction à Windows Workflow Foundation

Introduction à Windows Workflow Foundation Introduction à Windows Workflow Foundation Version 1.1 Auteur : Mathieu HOLLEBECQ Co-auteur : James RAVAILLE http://blogs.dotnet-france.com/jamesr 2 Introduction à Windows Workflow Foundation [07/01/2009]

Plus en détail

Les systèmes RAID Architecture des ordinateurs

Les systèmes RAID Architecture des ordinateurs METAIS Cédric 2 ème année Informatique et réseaux Les systèmes RAID Architecture des ordinateurs Cédric METAIS ISMRa - 1 - LES DIFFERENTS SYSTEMES RAID SOMMAIRE INTRODUCTION I LES DIFFERENTS RAID I.1 Le

Plus en détail

CNAM 2010-2011. Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010

CNAM 2010-2011. Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010 CNAM 2010-2011 Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010 Déploiement d une application dans le cloud. 1. Cloud Computing en 2010 2. Offre EC2

Plus en détail

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 MapReduce Malo Jaffré, Pablo Rauzy ENS 16 avril 2010 Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 Qu est ce que c est? Conceptuellement Données MapReduce est un framework de calcul distribué

Plus en détail

Une ergonomie intuitive

Une ergonomie intuitive Une ergonomie intuitive Les solutions de la ligne PME offrent une interface de travail proche des usages quotidiens en informatique. Leur ergonomie intuitive facilite la prise en main du logiciel. Une

Plus en détail

Plan. Cours 4 : Méthodes d accès aux données. Architecture système. Objectifs des SGBD (rappel)

Plan. Cours 4 : Méthodes d accès aux données. Architecture système. Objectifs des SGBD (rappel) UPMC - UFR 99 Licence d informatique 205/206 Module 3I009 Cours 4 : Méthodes d accès aux données Plan Fonctions et structure des SGBD Structures physiques Stockage des données Organisation de fichiers

Plus en détail

Les systèmes de Fichier

Les systèmes de Fichier Les systèmes de Fichier 1 Les disques durs, aussi petits soient-ils, contiennent des millions de bits, il faut donc organiser les données afin de pouvoir localiser les informations, c'est le but du système

Plus en détail

TP MongoDB. -d : définit le nom de la base où l'on souhaite importer les données

TP MongoDB. -d : définit le nom de la base où l'on souhaite importer les données TP MongoDB MongoDB est l une des base de données composant le mouvement NoSQL (Not Only SQL). L intérêt de ce genre de bases de données se ressent dans la manipulation de très grosses bases de données

Plus en détail

ELASTICSEARCH MAINTENANT EN VERSION 1.4

ELASTICSEARCH MAINTENANT EN VERSION 1.4 ELASTICSEARCH MAINTENANT EN VERSION 1.4 firm1 29 octobre 2015 Table des matières 1 Introduction 5 2 Les principaux atouts 7 2.1 Moteur de recherche vs Moteur d indexation.................... 7 2.2 Du

Plus en détail

Chap. III : Le système d exploitation

Chap. III : Le système d exploitation UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Le système d exploitation (ou O.S. de l anglais Operating System ) d un ordinateur est le programme qui permet d accéder

Plus en détail

Cloud Computing : Utiliser Stratos comme PaaS privé sur un cloud Eucalyptus

Cloud Computing : Utiliser Stratos comme PaaS privé sur un cloud Eucalyptus Cloud Computing : Utiliser Stratos comme PaaS privé sur un cloud Eucalyptus Mr Romaric SAGBO Ministère de l'economie et des Finances (MEF), Bénin SWD Technologies Email : rask9@yahoo.fr Tél : +229 97217745

Plus en détail

Utiliser Access ou Excel pour gérer vos données

Utiliser Access ou Excel pour gérer vos données Page 1 of 5 Microsoft Office Access Utiliser Access ou Excel pour gérer vos données S'applique à : Microsoft Office Access 2007 Masquer tout Les programmes de feuilles de calcul automatisées, tels que

Plus en détail

Web et bases de données : un mariage nécessaire pour faire face aux défis des données massives

Web et bases de données : un mariage nécessaire pour faire face aux défis des données massives Web et bases de données : un mariage nécessaire pour faire face aux défis des données massives Module 6 : Changement d échelle et cohérence Les bases de données relationnelles sont mûres : elles ont bientôt

Plus en détail

LES OUTILS DE LA GESTION DE PROJET

LES OUTILS DE LA GESTION DE PROJET LES OUTILS DE LA GESTION DE PROJET PROJET : «ensemble des actions à entreprendre afin de répondre à un besoin défini dans des délais fixés». Délimité dans le temps avec un début et une fin, mobilisant

Plus en détail

Sujet 17 : Exploitation de données financières de Google Finance en C#

Sujet 17 : Exploitation de données financières de Google Finance en C# Amsellem Ari Pour le 01/06/11 Ohayon Alexandre Gueguen Tristan Sujet 17 : Exploitation de données financières de Google Finance en C# Introduction : Il convient tout d abord de signaler que le titre de

Plus en détail

Sujet du stage Mise en place et paramétrage d un moteur spécialisé pour la recherche de CV à travers le web

Sujet du stage Mise en place et paramétrage d un moteur spécialisé pour la recherche de CV à travers le web Sujet du stage Mise en place et paramétrage d un moteur spécialisé pour la recherche de CV à travers le web Responsable du stage : Nabil Belcaid Le Guyader Chef de projet : Ali Belcaid Déroulement du stage

Plus en détail

Résolution des problèmes liés aux imprimantes www.ofppt.info

Résolution des problèmes liés aux imprimantes www.ofppt.info ROYAUME DU MAROC Office de la Formation Professionnelle et de la Promotion du Travail aux imprimantes DIRECTION RECHERCHE ET INGENIERIE DE FORMATION SECTEUR NTIC Diagnostiquer un problème Sommaire 1. Introduction...

Plus en détail

Déploiement d une architecture Hadoop pour analyse de flux. françois-xavier.andreu@renater.fr

Déploiement d une architecture Hadoop pour analyse de flux. françois-xavier.andreu@renater.fr Déploiement d une architecture Hadoop pour analyse de flux françois-xavier.andreu@renater.fr 1 plan Introduction Hadoop Présentation Architecture d un cluster HDFS & MapReduce L architecture déployée Les

Plus en détail

Exercices Active Directory (Correction)

Exercices Active Directory (Correction) Exercices Active Directory (Correction) Exercice : Scénarios pour l'implémentation de composants logiques AD DS Lire les scénarios suivants et déterminer les composants logiques AD DS à déployer dans chaque

Plus en détail

RAPPORT DE CONCEPTION UML :

RAPPORT DE CONCEPTION UML : Carlo Abi Chahine Sylvain Archenault Yves Houpert Martine Wang RAPPORT DE CONCEPTION UML : Bamboo Ch@t Projet GM4 Juin 2006 Table des matières 1 Introduction 2 2 Présentation du logiciel 3 2.1 Précisions

Plus en détail

TME 1 - Hadoop, une plate-forme open-source de MapReduce. Installation et prise en main

TME 1 - Hadoop, une plate-forme open-source de MapReduce. Installation et prise en main PSIA :Plates-formes pour les systèmes informatiques avancés TME 1 - Hadoop, une plate-forme open-source de MapReduce. Installation et prise en main Jonathan Lejeune, Julien Sopena Contexte Le modèle MapReduce

Plus en détail

«Scale-to-fit» Storage

«Scale-to-fit» Storage LIVRE BLANC «Scale-to-fit» Storage Faites évoluer votre stockage de façon totalement transparente grâce au «Scale-to-Fit» de Nimble Storage. Ce livre blanc explique comment les solutions Nimble Storage

Plus en détail

Module MLBDA Master Informatique Spécialité DAC. Cours 10 NoSQL

Module MLBDA Master Informatique Spécialité DAC. Cours 10 NoSQL Module MLBDA Master Informatique Spécialité DAC Cours 10 NoSQL Systèmes NoSQL (not only SQL) Systèmes qui abandonnent certaines propriétés des SGBDR (one size does not fit all): Le langage d interrogation

Plus en détail

SAUVEGARDE ET RESTAURATION DES METADONNEES AVEC SAS 9.3

SAUVEGARDE ET RESTAURATION DES METADONNEES AVEC SAS 9.3 SAUVEGARDE ET RESTAURATION DES METADONNEES AVEC SAS 9.3 SAS 9.3 est disponible depuis le 12 Juillet 2011. Cette nouvelle version s accompagne de son lot de nouveautés notamment au niveau du serveur de

Plus en détail

Systèmes de fichiers distribués : comparaison de GlusterFS, MooseFS et Ceph avec déploiement sur la grille de calcul Grid 5000.

Systèmes de fichiers distribués : comparaison de GlusterFS, MooseFS et Ceph avec déploiement sur la grille de calcul Grid 5000. : comparaison de, et avec déploiement sur la grille de calcul Grid 5000. JF. Garcia, F. Lévigne, M. Douheret, V. Claudel 30 mars 2011 1/34 Table des Matières 1 2 3 4 5 6 7 1/34 Présentation du sujet Présentation

Plus en détail

Cours CCNA 1. Exercices

Cours CCNA 1. Exercices Cours CCNA 1 TD1 Exercices Exercice 1 : Décrivez les facteurs internes qui ont un impact sur les communications réseau. Les facteurs internes ayant un impact sur les communications sont liés à la nature

Plus en détail

Outil d aide au choix Serveurs Lot 4 Marché Groupement de Recherche

Outil d aide au choix Serveurs Lot 4 Marché Groupement de Recherche Outil d aide au choix Serveurs Lot 4 Marché Groupement de Recherche Serveurs DELL PowerEdge Tour Rack standard R310 T110II Rack de calcul Lames R815 M610 R410 R910 M620 R415 R510 T620 R620 R720/R720xd

Plus en détail

Rapport de méthodologie:

Rapport de méthodologie: Rapport de méthodologie: "Laboratoire on chip/lab-on-chip/loc" REMARQUE : La méthode employée est en tout point similaire à celle utilisée en groupe. Contents Rapport de méthodologie:... 1 "Laboratoire

Plus en détail

ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE

ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE 1 Introduction ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE Atelier «pour approfondir» Sauvegarder ses données à domicile ou sur Internet Qui n a jamais perdu des photos ou documents suite à une panne

Plus en détail

FORMATION HADOOP Administrateur pour Hadoop (Apache)

FORMATION HADOOP Administrateur pour Hadoop (Apache) FORMATION HADOOP Administrateur pour Hadoop (Apache) Ce document reste la propriété du Groupe Cyrès. Toute copie, diffusion, exploitation même partielle doit faire l objet d une demande écrite auprès de

Plus en détail

Mutualisation des moyens héliportés sur la région Bourgogne. Etude initiale 06.06.2013 V1.2

Mutualisation des moyens héliportés sur la région Bourgogne. Etude initiale 06.06.2013 V1.2 sur la région Bourgogne Etude initiale 06.06.2013 V1.2 Contenu 1. Contexte...3 1.1. Objectifs...3 1.2. Descriptif de l existant...3 2. Etude des solutions...3 2.1. Solution n 1 : uniformisation du système

Plus en détail

Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_r.html. R.R. Université Lyon 2

Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_r.html. R.R. Université Lyon 2 Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_r.html 1 Plan de présentation 1. L écosystème Hadoop 2. Principe de programmation MapReduce 3. Programmation des fonctions

Plus en détail

Nouveautés Ignition v7.7

Nouveautés Ignition v7.7 ... Nouveautés Ignition v7.7 Nouveautés Ignition v7.7 Découvrez le Nouveau Scada avec plus de 40 nouveautés Principales nouveautés :... Cloud Templates Template Repeater Client Multilingue + Sequential

Plus en détail

ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges. c Copyleft 2006, ELSE Team

ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges. c Copyleft 2006, ELSE Team ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges c Copyleft 2006, ELSE Team 18 avril 2006 Table des matières 1 Introduction 2 2 Présentation du projet 3 2.1 Une distribution Évolulable..................

Plus en détail

arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr

arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr Auteur du document : ESRI France Version de la documentation : 1.2.0.0 Date de dernière

Plus en détail

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

Plus en détail

Enveloppes convexes dans le plan

Enveloppes convexes dans le plan ÉCOLE POLYTECHNIQUE ÉCOLES NORMALES SUPÉRIEURES ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE B (XECLR)

Plus en détail

TME 1 - Hadoop, une plate-forme open-source de MapReduce. Installation et prise en main

TME 1 - Hadoop, une plate-forme open-source de MapReduce. Installation et prise en main CODEL : conception et développement d applications d entreprise à large échelle TME 1 - Hadoop, une plate-forme open-source de MapReduce. Installation et prise en main Jonathan Lejeune Contexte Le modèle

Plus en détail

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt Procédure pas à pas de découverte de l offre Service Cloud Cloudwatt Manuel Utilisateur 03/07/2014 Cloudwatt - Reproduction et communication sont interdites sans autorisation 1/45 Contenu 1. Introduction...

Plus en détail

Recueil des Fiches Concepteurs : Mise en œuvre d un site SharePoint 2013 Juin 2015

Recueil des Fiches Concepteurs : Mise en œuvre d un site SharePoint 2013 Juin 2015 Recueil des s s : Mise en œuvre d un site SharePoint 2013 Juin 2015 Ce document décrit le paramétrage pour la mise en œuvre des fonctionnalités standard de Microsoft SharePoint 2013. NADAP et SharePoint

Plus en détail

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source Jérôme Petit, Serge Petit & Serli Informatique, ITMatic Jérôme Petit, Serge Petit & SERLI & ITMatic Serli : SSII

Plus en détail

Projet de cryptographie. Algorithme de cryptage de type Bluetooth

Projet de cryptographie. Algorithme de cryptage de type Bluetooth Projet de cryptographie Algorithme de cryptage de type Bluetooth Le but de ce projet est de créer une application qui crypte et décrypte des fichiers en utilisant le principe de cryptage du Bluetooth.

Plus en détail

INF-130 Travail Pratique #2

INF-130 Travail Pratique #2 École de technologie supérieure INF-30 Travail Pratique #2 Travail individuel Tracé d un métro Francis Bourdeau, Frédérick Henri et Patrick Salois Remise à la 0 e semaine. Objectifs - Amener l étudiant

Plus en détail

Sauvegarde Version 1.0. 25/05/2015 BTS SIO SISR Brochard Florent

Sauvegarde Version 1.0. 25/05/2015 BTS SIO SISR Brochard Florent Sauvegarde Version 1.0 25/05/2015 BTS SIO SISR Brochard Florent Sommaire I. Introduction... 3 II. Définition de la sauvegarde... 3 III. Stratégie de sauvegarde... 3 IV. Types de sauvegarde... 4 A. La sauvegarde

Plus en détail

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+ Guide de formation avec exercices pratiques Configuration et dépannage de PC Préparation à la certification A+ Sophie Lange Troisième édition : couvre Windows 2000, Windows XP et Windows Vista Les Guides

Plus en détail

L approche Bases de données

L approche Bases de données L approche Bases de données Cours: BD. Avancées Année: 2005/2006 Par: Dr B. Belattar (Univ. Batna Algérie) I- : Mise à niveau 1 Cours: BDD. Année: 2013/2014 Ens. S. MEDILEH (Univ. El-Oued) L approche Base

Plus en détail

Besoin de concevoir des systèmes massivement répartis. Comment tester le système? Solution. Évaluation de systèmes répartis à large échelle

Besoin de concevoir des systèmes massivement répartis. Comment tester le système? Solution. Évaluation de systèmes répartis à large échelle Besoin de concevoir des systèmes massivement répartis. Évaluation de systèmes répartis à large échelle Sergey Legtchenko Motivation : LIP6-INRIA Tolérance aux pannes Stockage de données critiques Coût

Plus en détail

ENRICHIR LES DONNEES DE DETAILS ACCEDEES A TRAVERS UN RAPPORT OLAP

ENRICHIR LES DONNEES DE DETAILS ACCEDEES A TRAVERS UN RAPPORT OLAP ENRICHIR LES DONNEES DE DETAILS ACCEDEES A TRAVERS UN RAPPORT OLAP SAS Web Report Studio offre depuis de nombreuses versions la possibilité de visualiser les observations spécifiques à partir des données

Plus en détail

SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio

SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio Présentation 1. Introduction 13 2. Présentation de SQL Server 14 2.1 Qu'est-ce qu'un SGBDR? 15 2.2 Mode de fonctionnement client/serveur 16 2.3 Les plates-formes possibles 18 2.4 Les composants de SQL

Plus en détail

Retour d expérience BigData 16/10/2013 Cyril Morcrette CTO

Retour d expérience BigData 16/10/2013 Cyril Morcrette CTO Retour d expérience BigData 16/10/2013 Cyril Morcrette CTO Mappy en Chiffre Filiale du groupe Solocal 10M de visiteurs uniques 300M visites annuelles 100 collaborateurs dont 60% technique 3,7 Md de dalles

Plus en détail

Le voyageur de commerce

Le voyageur de commerce Université de Strasbourg UFR Maths-Informatique Licence 3 - Semestre 6 Le voyageur de commerce Jonathan HAEHNEL & Marc PAPILLON Strasbourg, le 3 mai 2012 Table des matières 1 Etat des lieux 4 1.1 Fonctionnalités..............................

Plus en détail

Le client/serveur repose sur une communication d égal à égal entre les applications.

Le client/serveur repose sur une communication d égal à égal entre les applications. Table des matières LES PRINCIPES DE BASE... 1 Présentation distribuée-revamping...2 Présentation distante...3 Traitements distribués...3 données distantes-rd...4 données distribuées-rda distribué...4 L'ARCHITECTURE

Plus en détail

JXDVDTek - UNE DVDTHEQUE EN JAVA ET XML

JXDVDTek - UNE DVDTHEQUE EN JAVA ET XML BALLOTE Nadia FRIULI Valerio GILARDI Mathieu IUT de Nice Licence Professionnelle des Métiers de l Informatique RAPPORT DU PROJET : JXDVDTek - UNE DVDTHEQUE EN JAVA ET XML Encadré par : M. CRESCENZO Pierre

Plus en détail

NoSQL : en Quête de Performances Extrêmes

NoSQL : en Quête de Performances Extrêmes NoSQL : en Quête de Performances Extrêmes Alors que l audience du web croît sans cesse, les applications Internet à succès ont été confrontées aux mêmes problèmes de base de données : si les serveurs web

Plus en détail

Rappel sur les bases de données

Rappel sur les bases de données Rappel sur les bases de données 1) Généralités 1.1 Base de données et système de gestion de base de donnés: définitions Une base de données est un ensemble de données stockées de manière structurée permettant

Plus en détail

Installation de Windows XP www.ofppt.info

Installation de Windows XP www.ofppt.info ROYAUME DU MAROC Office de la Formation Professionnelle et de la Promotion du Travail XP DIRECTION RECHERCHE ET INGENIERIE DE FORMATION SECTEUR NTIC XP Sommaire 1 Introduction... 2 2 Vérification de la

Plus en détail

ModSecurity. Cible de sécurité CSPN Version 0.96

ModSecurity. Cible de sécurité CSPN Version 0.96 Cible de sécurité CSPN Version 0.96 TABLE DES MATIERES 1 IDENTIFICATION... 3 1.1 IDENTIFICATION DE LA CIBLE DE SECURITE... 3 1.2 IDENTIFICATION DU PRODUIT... 3 2 ARGUMENTAIRE (DESCRIPTION) DU PRODUIT...

Plus en détail

Proposition de recherche TaintDroid Laboratory. Présenté à M. François Bertrand. Réalisé par l équipe Droid. Dans le cadre du cours 420-620-SF

Proposition de recherche TaintDroid Laboratory. Présenté à M. François Bertrand. Réalisé par l équipe Droid. Dans le cadre du cours 420-620-SF Simon Frenette Marc-Antoine Béland Jérémie Poisson Proposition de recherche TaintDroid Laboratory Présenté à M. François Bertrand Réalisé par l équipe Droid Dans le cadre du cours 420-620-SF Département

Plus en détail

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web.

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web. Document 1 : client et serveur Les ordinateurs sur lesquels sont stockés les sites web sont appelés des serveurs. Ce sont des machines qui sont dédiées à cet effet : elles sont souvent sans écran et sans

Plus en détail

Accès au serveur SQL. Où ranger les accès au serveur SQL?

Accès au serveur SQL. Où ranger les accès au serveur SQL? 150 requête SQL, cela aura un impact sur un nombre limité de lignes et non plus sur l ensemble des données. MySQL propose une clause originale en SQL : LIMIT. Cette clause est disponible avec les différentes

Plus en détail

Le programme OFFICE GSP est disponible sur le site http://www.officegsp.com.

Le programme OFFICE GSP est disponible sur le site http://www.officegsp.com. 1 1 - Installation & Mise à Jour du logiciel 1.1 Première Installation Cette procédure d installation est indispensable pour tout ordinateur n ayant jamais fait l objet d une installation du logiciel.

Plus en détail

Big Data. Les problématiques liées au stockage des données et aux capacités de calcul

Big Data. Les problématiques liées au stockage des données et aux capacités de calcul Big Data Les problématiques liées au stockage des données et aux capacités de calcul Les problématiques liées au Big Data La capacité de stockage - Traitement : Ponctuel ou permanent? - Cycle de vie des

Plus en détail

OpenText Content Server v10 Cours 3-0126 (ex 215)

OpenText Content Server v10 Cours 3-0126 (ex 215) v10 Cours 3-0126 (ex 215) Administration système et indexation-recherche Durée : 5 jours Ce cours de 5 jours apprendra aux administrateurs, aux architectes système et aux services support comment installer,

Plus en détail

Cahier des charges. Jonathan HAEHNEL. Université de Strasbourg IUT Robert Schuman

Cahier des charges. Jonathan HAEHNEL. Université de Strasbourg IUT Robert Schuman Université de Strasbourg IUT Robert Schuman Maître de stage : Nicolas Lachiche Tuteur universitaire : Marie-Paule Muller Cahier des charges Jonathan HAEHNEL Strasbourg, le 6 mai 2011 Table des matières

Plus en détail

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Chapitre V : La gestion de la mémoire Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Introduction Plusieurs dizaines de processus doivent se partager

Plus en détail

Fiche technique WS2012

Fiche technique WS2012 Le 18/03/013 OBJECTIF VIRTUALISATION mathieuc@exakis.com EXAKIS NANTES Identification du document Titre Projet Date de création Date de modification Fiche technique Objectif 18/03/2013 26/03/2013 WS2012

Plus en détail

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur) 1/23 2/23 Anne-Cécile Caron Master MIAGE - BDA 1er trimestre 2013-2014 I : Not Only SQL, ce n est pas du relationnel, et le contexte d utilisation n est donc pas celui des SGBDR. I Origine : recherche

Plus en détail

Utilisation de l application. Introduction à asa-control. Connexion à l application. Plus facile que tu ne le penses.

Utilisation de l application. Introduction à asa-control. Connexion à l application. Plus facile que tu ne le penses. asa-control Introduction à asa-control Utilisation de l application Plus facile que tu ne le penses. Tu travailles avec la souris et effectues toujours les mêmes étapes. Connexion à l application Choisis

Plus en détail

Extended Communication server

Extended Communication server Extended Communication server P-5288 : Backup / Restore Juin, 2007 Alcatel-Lucent Office Offer - All Rights Reserved Alcatel-Lucent 2007 INTRODUCTION...3 NOUVEAUTES DU BACKUP/RESTORE...3 SAUVEGARDE...3

Plus en détail

Projet de Fin d Etudes. Smart Picking

Projet de Fin d Etudes. Smart Picking Projet de Fin d Etudes Smart Picking Mathieu BOSSENNEC IMA5 Florian CARON 2014-2015 Sommaire Sommaire 2 Remerciements 3 Introduction 4 I - Présentation du Contexte 5 II - Travaux Réalisés 6 1) Système

Plus en détail

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce

Plus en détail