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: "arin@example.com", 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", "phatduckk@example.com", 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", "ieure@example.com", 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

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

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

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

Introduction à MapReduce/Hadoop et Spark

Introduction à MapReduce/Hadoop et Spark 1 / 36 Introduction à MapReduce/Hadoop et Spark Certificat Big Data Ludovic Denoyer et Sylvain Lamprier UPMC Plan 2 / 36 Contexte 3 / 36 Contexte 4 / 36 Data driven science: le 4e paradigme (Jim Gray -

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

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

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

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

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

Groupe de Discussion Big Data Aperçu des technologies et applications. Stéphane MOUTON stephane.mouton@cetic.be

Groupe de Discussion Big Data Aperçu des technologies et applications. Stéphane MOUTON stephane.mouton@cetic.be Groupe de Discussion Big Data Aperçu des technologies et applications Stéphane MOUTON stephane.mouton@cetic.be Recherche appliquée et transfert technologique q Agréé «Centre Collectif de Recherche» par

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

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

Cartographie des solutions BigData

Cartographie des solutions BigData Cartographie des solutions BigData Panorama du marché et prospective 1 1 Solutions BigData Défi(s) pour les fournisseurs Quel marché Architectures Acteurs commerciaux Solutions alternatives 2 2 Quels Défis?

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

Hibernate vs. le Cloud Computing

Hibernate vs. le Cloud Computing Hibernate vs. le Cloud Computing Qui suis-je? Julien Dubois Co-auteur de «Spring par la pratique» Ancien de SpringSource Directeur du consulting chez Ippon Technologies Suivez-moi sur Twitter : @juliendubois

Plus en détail

MapReduce et Hadoop. Alexandre Denis Alexandre.Denis@inria.fr. Inria Bordeaux Sud-Ouest France ENSEIRB PG306

MapReduce et Hadoop. Alexandre Denis Alexandre.Denis@inria.fr. Inria Bordeaux Sud-Ouest France ENSEIRB PG306 MapReduce et Hadoop Alexandre Denis Alexandre.Denis@inria.fr Inria Bordeaux Sud-Ouest France ENSEIRB PG306 Fouille de données Recherche & indexation de gros volumes Appliquer une opération simple à beaucoup

Plus en détail

NoSQL. Introduction 1/30. 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/30. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur) 1/30 2/30 Anne-Cécile Caron Master MIAGE - SGBD 1er trimestre 2014-2015 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

MapReduce. Nicolas Dugué nicolas.dugue@univ-orleans.fr. M2 MIAGE Systèmes d information répartis

MapReduce. Nicolas Dugué nicolas.dugue@univ-orleans.fr. M2 MIAGE Systèmes d information répartis MapReduce Nicolas Dugué nicolas.dugue@univ-orleans.fr M2 MIAGE Systèmes d information répartis Plan 1 Introduction Big Data 2 MapReduce et ses implémentations 3 MapReduce pour fouiller des tweets 4 MapReduce

Plus en détail

Le NoSQL - Cassandra

Le NoSQL - Cassandra Le NoSQL - Cassandra Thèse Professionnelle Xavier MALETRAS 27/05/2012 Ce document présente la technologie NoSQL au travers de l utilisation du projet Cassandra. Il présente des situations ainsi que des

Plus en détail

Livre. blanc. Solution Hadoop d entreprise d EMC. Stockage NAS scale-out Isilon et Greenplum HD. Février 2012

Livre. blanc. Solution Hadoop d entreprise d EMC. Stockage NAS scale-out Isilon et Greenplum HD. Février 2012 Livre blanc Solution Hadoop d entreprise d EMC Stockage NAS scale-out Isilon et Greenplum HD Par Julie Lockner et Terri McClure, Analystes seniors Février 2012 Ce livre blanc d ESG, qui a été commandé

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

Introduc)on à Map- Reduce. Vincent Leroy

Introduc)on à Map- Reduce. Vincent Leroy Introduc)on à Map- Reduce Vincent Leroy Sources Apache Hadoop Yahoo! Developer Network Hortonworks Cloudera Prac)cal Problem Solving with Hadoop and Pig Les cours seront mis en ligne sur hhp://membres.liglab.fr/leroy/

Plus en détail

AVRIL 2014. Au delà de Hadoop. Panorama des solutions NoSQL

AVRIL 2014. Au delà de Hadoop. Panorama des solutions NoSQL AVRIL 2014 Panorama des solutions NoSQL QUI SOMMES NOUS? Avril 2014 2 SMILE, EN QUELQUES CHIFFRES 1er INTÉGRATEUR EUROPÉEN DE SOLUTIONS OPEN SOURCE 3 4 NOS EXPERTISES ET NOS CONVICTIONS DANS NOS LIVRES

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

HADOOP ET SON ÉCOSYSTÈME

HADOOP ET SON ÉCOSYSTÈME HADOOP ET SON ÉCOSYSTÈME Mars 2013 2012 Affini-Tech - Diffusion restreinte 1 AFFINI-TECH Méthodes projets Outils de reporting & Data-visualisation Business & Analyses BigData Modélisation Hadoop Technos

Plus en détail

Labs Hadoop Février 2013

Labs Hadoop Février 2013 SOA - BRMS - ESB - BPM CEP BAM - High Performance Compute & Data Grid - Cloud Computing - Big Data NoSQL - Analytics Labs Hadoop Février 2013 Mathias Kluba Managing Consultant Responsable offres NoSQL

Plus en détail

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Cours Base de données relationnelles. M. Boughanem, IUP STRI Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),

Plus en détail

L écosystème Hadoop Nicolas Thiébaud ni.thiebaud@gmail.com. Tuesday, July 2, 13

L écosystème Hadoop Nicolas Thiébaud ni.thiebaud@gmail.com. Tuesday, July 2, 13 L écosystème Hadoop Nicolas Thiébaud ni.thiebaud@gmail.com HUG France 250 membres sur la mailing liste 30 présentations 9 meetups organisés, de 20 à 100 invités Présence de Cloudera, MapR, Hortonworks,

Plus en détail

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration Julien MATHEVET Alexandre BOISSY GSID 4 Rapport Load Balancing et migration Printemps 2001 SOMMAIRE INTRODUCTION... 3 SYNTHESE CONCERNANT LE LOAD BALANCING ET LA MIGRATION... 4 POURQUOI FAIRE DU LOAD BALANCING?...

Plus en détail

Document réalisé par Khadidjatou BAMBA

Document réalisé par Khadidjatou BAMBA Comprendre le BIG DATA Document réalisé par Khadidjatou BAMBA 1 Sommaire Avant propos. 3 Historique du Big Data.4 Introduction.....5 Chapitre I : Présentation du Big Data... 6 I. Généralités sur le Big

Plus en détail

Certificat Big Data - Master MAthématiques

Certificat Big Data - Master MAthématiques 1 / 1 Certificat Big Data - Master MAthématiques Master 2 Auteur : Sylvain Lamprier UPMC Fouille de données et Medias Sociaux 2 / 1 Rich and big data: Millions d utilisateurs Millions de contenus Multimedia

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

Big Data : utilisation d un cluster Hadoop HDFS Map/Reduce HBase

Big Data : utilisation d un cluster Hadoop HDFS Map/Reduce HBase Big Data : utilisation d un cluster cluster Cécile Cavet cecile.cavet at apc.univ-paris7.fr Centre François Arago (FACe), Laboratoire APC, Université Paris Diderot LabEx UnivEarthS 14 Janvier 2014 C. Cavet

Plus en détail

Organiser vos données - Big Data. Patrick Millart Senior Sales Consultant

Organiser vos données - Big Data. Patrick Millart Senior Sales Consultant Organiser vos données - Big Data Patrick Millart Senior Sales Consultant The following is intended to outline our general product direction. It is intended for information purposes only, and may not be

Plus en détail

Tables Rondes Le «Big Data»

Tables Rondes Le «Big Data» Tables Rondes Le «Big Data» 2012-2013 1 Plan Introduc9on 1 - Présenta9on Ingensi 2 - Le Big Data c est quoi? 3 - L histoire 4 - Le monde du libre : Hadoop 5 - Le système HDFS 6 - Les algorithmes distribués

Plus en détail

20 ans du Master SIAD de Toulouse - BigData par l exemple - Julien DULOUT - 22 mars 2013. 20 ans du SIAD -"Big Data par l'exemple" -Julien DULOUT

20 ans du Master SIAD de Toulouse - BigData par l exemple - Julien DULOUT - 22 mars 2013. 20 ans du SIAD -Big Data par l'exemple -Julien DULOUT 20 ans du Master SIAD de Toulouse - BigData par l exemple - Julien DULOUT - 22 mars 2013 20 ans du SIAD -"BigData par l'exemple" -Julien DULOUT Qui a déjà entendu parler du phénomène BigData? Qui a déjà

Plus en détail

Panorama des solutions analytiques existantes

Panorama des solutions analytiques existantes Arnaud LAROCHE Julien DAMON Panorama des solutions analytiques existantes SFdS Méthodes et Logiciels - 16 janvier 2014 - Données Massives Ne sont ici considérés que les solutions autour de l environnement

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

Les technologies du Big Data

Les technologies du Big Data Les technologies du Big Data PRÉSENTÉ AU 40 E CONGRÈS DE L ASSOCIATION DES ÉCONOMISTES QUÉBÉCOIS PAR TOM LANDRY, CONSEILLER SENIOR LE 20 MAI 2015 WWW.CRIM.CA TECHNOLOGIES: DES DONNÉES JUSQU'À L UTILISATEUR

Plus en détail

Les quatre piliers d une solution de gestion des Big Data

Les quatre piliers d une solution de gestion des Big Data White Paper Les quatre piliers d une solution de gestion des Big Data Table des Matières Introduction... 4 Big Data : un terme très vaste... 4 Le Big Data... 5 La technologie Big Data... 5 Le grand changement

Plus en détail

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

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

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement Ne laissez pas le stockage cloud pénaliser votre retour sur investissement Préparé par : George Crump, analyste senior Préparé le : 03/10/2012 L investissement qu une entreprise fait dans le domaine de

Plus en détail

Introduction aux SGBDR

Introduction aux SGBDR 1 Introduction aux SGBDR Pour optimiser une base Oracle, il est important d avoir une idée de la manière dont elle fonctionne. La connaissance des éléments sous-jacents à son fonctionnement permet de mieux

Plus en détail

Notes de cours Practical BigData

Notes de cours Practical BigData Notes de cours Practical BigData Nguyen-Nhut DOAN 15 janvier 2015 Introduction Ces notes personnelles traduisent la deuxième partie du cours INF553 de l Ecole Polytechnique sur les bases de données et

Plus en détail

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES BASE DE DONNEES La plupart des entreprises possèdent des bases de données informatiques contenant des informations essentielles à leur fonctionnement. Ces informations concernent ses clients, ses produits,

Plus en détail

BIG DATA. Veille technologique. Malek Hamouda Nina Lachia Léo Valette. Commanditaire : Thomas Milon. Encadré: Philippe Vismara

BIG DATA. Veille technologique. Malek Hamouda Nina Lachia Léo Valette. Commanditaire : Thomas Milon. Encadré: Philippe Vismara BIG DATA Veille technologique Malek Hamouda Nina Lachia Léo Valette Commanditaire : Thomas Milon Encadré: Philippe Vismara 1 2 Introduction Historique des bases de données : méthodes de stockage et d analyse

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

Les participants repartiront de cette formation en ayant une vision claire de la stratégie et de l éventuelle mise en œuvre d un Big Data.

Les participants repartiront de cette formation en ayant une vision claire de la stratégie et de l éventuelle mise en œuvre d un Big Data. Big Data De la stratégie à la mise en oeuvre Description : La formation a pour objet de brosser sans concession le tableau du Big Data. Les participants repartiront de cette formation en ayant une vision

Plus en détail

Technologies du Web. Ludovic DENOYER - ludovic.denoyer@lip6.fr. Février 2014 UPMC

Technologies du Web. Ludovic DENOYER - ludovic.denoyer@lip6.fr. Février 2014 UPMC Technologies du Web Ludovic DENOYER - ludovic.denoyer@lip6.fr UPMC Février 2014 Ludovic DENOYER - ludovic.denoyer@lip6.fr Technologies du Web Plan Retour sur les BDs Le service Search Un peu plus sur les

Plus en détail

Cours 8 Not Only SQL

Cours 8 Not Only SQL Cours 8 Not Only SQL Cours 8 - NoSQL Qu'est-ce que le NoSQL? Cours 8 - NoSQL Qu'est-ce que le NoSQL? Catégorie de SGBD s'affranchissant du modèle relationnel des SGBDR. Mouvance apparue par le biais des

Plus en détail

Acquisition des données - Big Data. Dario VEGA Senior Sales Consultant

Acquisition des données - Big Data. Dario VEGA Senior Sales Consultant Acquisition des données - Big Data Dario VEGA Senior Sales Consultant The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated

Plus en détail

VMWare Infrastructure 3

VMWare Infrastructure 3 Ingénieurs 2000 Filière Informatique et réseaux Université de Marne-la-Vallée VMWare Infrastructure 3 Exposé système et nouvelles technologies réseau. Christophe KELLER Sommaire Sommaire... 2 Introduction...

Plus en détail

L unique SAN industriel proposant un stockage multiniveau automatisé (Automated Tiered Storage)

L unique SAN industriel proposant un stockage multiniveau automatisé (Automated Tiered Storage) Storage Center Baie de stockage STORAGE CENTER Transcende les limites des systèmes de stockage classiques Les fournisseurs de stockage actuels promettent de réduire le temps et les sommes d argent que

Plus en détail

La haute disponibilité

La haute disponibilité Chapitre 3 La haute 3.1 Définition du cluster de serveurs...112 3.2 La mise en cluster des applications...114 3.3 Les composants du cluster de serveurs...115 3.4 Les obets du cluster de serveurs...119

Plus en détail

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures Le stockage 1. Architecture de stockage disponible a. Stockage local ou centralisé L architecture de stockage à mettre en place est déterminante pour l évolutivité et la performance de la solution. Cet

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

Hadoop : une plate-forme d exécution de programmes Map-Reduce

Hadoop : une plate-forme d exécution de programmes Map-Reduce Hadoop : une plate-forme d exécution de programmes Map-Reduce Jonathan Lejeune UPMC 8 octobre 2013 PSIA 2013 Inspiré du cours des années précédentes de Luciana Arantes J. Lejeune (UPMC) Hadoop Map-Reduce

Plus en détail

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES FAMILLE EMC VPLEX Disponibilité continue et mobilité des données dans et entre les datacenters DISPONIBLITÉ CONTINUE ET MOBILITÉ DES DONNÉES DES APPLICATIONS CRITIQUES L infrastructure de stockage évolue

Plus en détail

Livre blanc Haute disponibilité sous Linux

Livre blanc Haute disponibilité sous Linux Livre blanc Haute disponibilité sous Linux Nicolas Ferre 29 septembre 2000 Résumé Ce livre blanc décrit une solution informatique à haute disponibilité. Les technologies mises

Plus en détail

Consolidation de stockage

Consolidation de stockage (Information sur la technologie Sto-2003-2) Wolfgang K. Bauer Spécialiste stockage Centre de compétence transtec AG Waldhörnlestraße 18 D-72072 Tübingen Allemagne TABLE DES MATIÈRES 1 RÉSUMÉ...3 2 INTRODUCTION...4

Plus en détail

NoSQL. Etat de l art et benchmark

NoSQL. Etat de l art et benchmark NoSQL Etat de l art et benchmark Travail de Bachelor réalisé en vue de l obtention du Bachelor HES par : Adriano Girolamo PIAZZA Conseiller au travail de Bachelor : David BILLARD, Professeur HES Genève,

Plus en détail

Les bases de données relationnelles

Les bases de données relationnelles Bases de données NO SQL et SIG : d un existant restreint à un avenir prometteur CHRISTIAN CAROLIN, AXES CONSEIL CAROLIN@AXES.FR - HTTP://WWW.AXES.FR Les bases de données relationnelles constituent désormais

Plus en détail

BI dans les nuages. Olivier Bendavid, UM2 Prof. A. April, ÉTS

BI dans les nuages. Olivier Bendavid, UM2 Prof. A. April, ÉTS BI dans les nuages Olivier Bendavid, UM2 Prof. A. April, ÉTS Table des matières Introduction Description du problème Les solutions Le projet Conclusions Questions? Introduction Quelles sont les défis actuels

Plus en détail

http://blog.khaledtannir.net

http://blog.khaledtannir.net Algorithme de parallélisations des traitements Khaled TANNIR Doctorant CIFRE LARIS/ESTI http://blog.khaledtannir.net these@khaledtannir.net 2e SéRI 2010-2011 Jeudi 17 mars 2011 Présentation Doctorant CIFRE

Plus en détail

La surveillance réseau des Clouds privés

La surveillance réseau des Clouds privés La surveillance réseau des Clouds privés Livre blanc Auteurs : Dirk Paessler, CEO de Paessler AG Gerald Schoch, Rédactrice technique de Paessler AG Publication : Mai 2011 Mise à jour : Février 2015 PAGE

Plus en détail

Map-Reduce : un cadre de programmation parallèlle pour l analyse de grandes données. Stéphane Genaud ENSIIE

Map-Reduce : un cadre de programmation parallèlle pour l analyse de grandes données. Stéphane Genaud ENSIIE Map-Reduce : un cadre de programmation parallèlle pour l analyse de grandes données Stéphane Genaud ENSIIE Traitement de données distribuées Google a introduit Map-Reduce [Dean and Ghemawat 2004] Ils s

Plus en détail

Présentation Alfresco

Présentation Alfresco Présentation d un CMS : Alfresco Présentation Alfresco Ludovic Plantin, Frédéric Sénèque, Xu Zhao Polytech Grenoble Décembre 2008 Plantin, Sénèque, Xu (Polytech) Présentation Alfresco Décembre 2008 1 /

Plus en détail

«clustering» et «load balancing» avec Zope et ZEO

«clustering» et «load balancing» avec Zope et ZEO IN53 Printemps 2003 «clustering» et «load balancing» avec Zope et ZEO Professeur : M. Mignot Etudiants : Boureliou Sylvain et Meyer Pierre Sommaire Introduction...3 1. Présentation générale de ZEO...4

Plus en détail

Le cluster à basculement

Le cluster à basculement Le cluster à basculement La technologie de cluster à basculement a une approche très différente de NLB. L objectif est de maintenir des ressources en ligne en permanence. Chaque ressource est instanciée

Plus en détail

La dernière base de données de Teradata franchit le cap du big data grâce à sa technologie avancée

La dernière base de données de Teradata franchit le cap du big data grâce à sa technologie avancée Communiqué de presse Charles-Yves Baudet Twitter: Les clients de Teradata Teradata Corporation peuvent dan.conway@teradata.com tirer parti de plusieurs + 33 1 64 86 76 14 + 33 (0) 1 55 21 01 48/49 systèmes,

Plus en détail

Technologie SDS (Software-Defined Storage) de DataCore

Technologie SDS (Software-Defined Storage) de DataCore Technologie SDS (Software-Defined Storage) de DataCore SANsymphony -V est notre solution phare de virtualisation du stockage, dans sa 10e génération. Déployée sur plus de 10000 sites clients, elle optimise

Plus en détail

Professeur-superviseur Alain April

Professeur-superviseur Alain April RAPPORT TECHNIQUE PRÉSENTÉ À L ÉCOLE DE TECHNOLOGIE SUPÉRIEURE DANS LE CADRE DU COURS GTI792 BASE DE DONNÉES DISTRIBUÉE APPLIQUÉE EN GÉNÉTIQUE DANS LE CADRE DE L'ANALYSE DE SÉQUENÇAGE GÉNOMIQUE JEAN-PHILIPPE

Plus en détail

Windows Internet Name Service (WINS)

Windows Internet Name Service (WINS) Windows Internet Name Service (WINS) WINDOWS INTERNET NAME SERVICE (WINS)...2 1.) Introduction au Service de nom Internet Windows (WINS)...2 1.1) Les Noms NetBIOS...2 1.2) Le processus de résolution WINS...2

Plus en détail

Maîtriser les technologies Big Data pour obtenir des résultats en quasi-temps réel

Maîtriser les technologies Big Data pour obtenir des résultats en quasi-temps réel LIVRE BLANC Processeurs Intel Xeon Unités de stockage SSD Intel Cartes réseau convergé Ethernet Intel Distribution Intel pour logiciel * Maîtriser les technologies Big Data pour obtenir des résultats en

Plus en détail

Titre : La BI vue par l intégrateur Orange

Titre : La BI vue par l intégrateur Orange Titre : La BI vue par l intégrateur Orange Résumé : L entité Orange IT&L@bs, partenaire privilégié des entreprises et des collectivités dans la conception et l implémentation de SI Décisionnels innovants,

Plus en détail

Sommaire. 3. Les grands principes de GFS L architecture L accès de fichier en lecture L accès de fichier en écriture Bilan

Sommaire. 3. Les grands principes de GFS L architecture L accès de fichier en lecture L accès de fichier en écriture Bilan 1 Sommaire 1. Google en chiffres 2. Les raisons d être de GFS 3. Les grands principes de GFS L architecture L accès de fichier en lecture L accès de fichier en écriture Bilan 4. Les Evolutions et Alternatives

Plus en détail

Hadoop : une plate-forme d exécution de programmes Map-Reduce

Hadoop : une plate-forme d exécution de programmes Map-Reduce Hadoop : une plate-forme d exécution de programmes Map-Reduce Jonathan Lejeune École des Mines de Nantes Janvier 2015 CODEL 2014/2015 J. Lejeune (École des Mines de Nantes) Hadoop Map-Reduce Janvier 2015

Plus en détail

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters FAMILLE EMC VPLEX Disponibilité continue et mobilité des données dans et entre les datacenters DISPONIBILITE CONTINUE ET MOBILITE DES DONNEES DES APPLICATIONS CRITIQUES L infrastructure de stockage évolue

Plus en détail

Quels choix de base de données pour vos projets Big Data?

Quels choix de base de données pour vos projets Big Data? Quels choix de base de données pour vos projets Big Data? Big Data? Le terme "big data" est très à la mode et naturellement un terme si générique est galvaudé. Beaucoup de promesses sont faites, et l'enthousiasme

Plus en détail

ÉCOLE DE TECHNOLOGIE SUPÉRIEURE UNIVERSITÉ DU QUÉBEC RAPPORT DE PROJET PRÉSENTÉ À L ÉCOLE DE TECHNOLOGIE SUPÉRIEURE

ÉCOLE DE TECHNOLOGIE SUPÉRIEURE UNIVERSITÉ DU QUÉBEC RAPPORT DE PROJET PRÉSENTÉ À L ÉCOLE DE TECHNOLOGIE SUPÉRIEURE ÉCOLE DE TECHNOLOGIE SUPÉRIEURE UNIVERSITÉ DU QUÉBEC RAPPORT DE PROJET PRÉSENTÉ À L ÉCOLE DE TECHNOLOGIE SUPÉRIEURE COMME EXIGENCE PARTIELLE À L OBTENTION DE LA MAÎTRISE EN GÉNIE PAR Sébastien SERVOLES

Plus en détail

Conception des systèmes répartis

Conception des systèmes répartis Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan

Plus en détail

Optimisations des SGBDR. Étude de cas : MySQL

Optimisations des SGBDR. Étude de cas : MySQL Optimisations des SGBDR Étude de cas : MySQL Introduction Pourquoi optimiser son application? Introduction Pourquoi optimiser son application? 1. Gestion de gros volumes de données 2. Application critique

Plus en détail

http://www.ed-diamond.com

http://www.ed-diamond.com Ceci est un extrait électronique d'une publication de Diamond Editions : http://www.ed-diamond.com Ce fichier ne peut être distribué que sur le CDROM offert accompagnant le numéro 100 de GNU/Linux Magazine

Plus en détail

Structure fonctionnelle d un SGBD

Structure fonctionnelle d un SGBD Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert

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

Jean-Daniel Cryans jdcryans@apache.org Twitter: @jdcryans. École de technologie supérieure, Montréal septembre 2009

Jean-Daniel Cryans jdcryans@apache.org Twitter: @jdcryans. École de technologie supérieure, Montréal septembre 2009 Jean-Daniel Cryans jdcryans@apache.org Twitter: @jdcryans École de technologie supérieure, Montréal septembre 2009 1. Introduction 2. Le Cloud Computing selon la littérature 3. Les produits 4. Études de

Plus en détail

Architectures haute disponibilité avec MySQL. Olivier Olivier DASINI DASINI - - http://dasini.net/blog

Architectures haute disponibilité avec MySQL. Olivier Olivier DASINI DASINI - - http://dasini.net/blog Architectures haute disponibilité avec MySQL Architectures Architectures haute disponibilité haute disponibilité avec MySQL avec MySQL Olivier Olivier DASINI DASINI - - http://dasini.net/blog Forum PHP

Plus en détail

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie 1 / 22 Technologies Web Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya Université Pierre et Marie Curie Rappel 2 / 22 Problématique Quelles technologies utiliser

Plus en détail

1. Base de données SQLite

1. Base de données SQLite Dans ce TP, nous allons voir comment créer et utiliser une base de données SQL locale pour stocker les informations. La semaine prochaine, ça sera avec un WebService. On repart de l application AvosAvis

Plus en détail

Technologie de déduplication de Barracuda Backup. Livre blanc

Technologie de déduplication de Barracuda Backup. Livre blanc Technologie de déduplication de Barracuda Backup Livre blanc Résumé Les technologies de protection des données jouent un rôle essentiel au sein des entreprises et ce, quelle que soit leur taille. Toutefois,

Plus en détail

Les clusters Linux. 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com. white-paper-cluster_fr.sxw, Version 74 Page 1

Les clusters Linux. 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com. white-paper-cluster_fr.sxw, Version 74 Page 1 Les clusters Linux 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com white-paper-cluster_fr.sxw, Version 74 Page 1 Table des matières Introduction....2 Haute performance (High

Plus en détail

Network Efficiency Monitoring - version 2

Network Efficiency Monitoring - version 2 École Polytechnique de l Université de Tours 64, Avenue Jean Portalis 37200 TOURS, FRANCE Tél. +33 (0)2 47 36 14 14 www.polytech.univ-tours.fr Département Informatique 5 e année 2012-2013 Projet de fin

Plus en détail

Le Cloud Open-Mind! Emilien Macchi

Le Cloud Open-Mind! Emilien Macchi Le Cloud Open-Mind! 1 Sommaire Introduction Comprendre Swift Comprendre Glance Comprendre Nova Déploiement Divers 2 OpenStack Introduction 3 Qu est-ce-qu OpenStack? Projet OpenSource ambitieux Catégorie

Plus en détail

Big Data, un nouveau paradigme et de nouveaux challenges

Big Data, un nouveau paradigme et de nouveaux challenges Big Data, un nouveau paradigme et de nouveaux challenges Sebastiao Correia 21 Novembre 2014 Séminaire Thématique : Traitement et analyse statistique des données massives, Poitiers. 1 Présentation Sebastiao

Plus en détail

Haute-disponibilité et bases de données

Haute-disponibilité et bases de données PostgreSQLFr.org, le portail francophone des services autour de PostgreSQL Haute-disponibilité et bases de données Association PostgreSQLFr http://www.postgresqlfr.org Dr. Stéphane SCHILDKNECHT Président

Plus en détail

Cours 13. RAID et SAN. 2004, Marc-André Léger

Cours 13. RAID et SAN. 2004, Marc-André Léger Cours 13 RAID et SAN Plan Mise en contexte Storage Area Networks Architecture Fibre Channel Network Attached Storage Exemple d un serveur NAS EMC2 Celerra Conclusion Démonstration Questions - Réponses

Plus en détail