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

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

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

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

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

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

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

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

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

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

KARMA Le système de Revenue Management d'air France KLM avec Hadoop

KARMA Le système de Revenue Management d'air France KLM avec Hadoop KARMA Le système de Revenue Management d'air France KLM avec Hadoop Conférence BIG DATA - Master MBDS Université de Nice Sophia Antipolis 16 Décembre 2014 Martial AYAS maayas@airfrance.fr 2 Agenda 1. Présentation

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

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

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

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

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

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

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

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

Introduction aux bases de données NoSQL

Introduction aux bases de données NoSQL Introduction aux bases de données NoSQL Khaled Tannir ets@khaledtannir.net Montréal - 23 Juillet 2015 Qui suis-je? Khaled TANNIR Big Data Architect Lead 20 ans d expérience ets@khaledtannir.net @khaled_tannir

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

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

Gestion de données complexes

Gestion de données complexes Master 2 Informatique Spécialité AIGLE Gestion de données complexes Amayas ABBOUTE Gilles ENTRINGER SOMMAIRE Sommaire i 1 - Introduction 1 2 - Technologies utilisées 2 2.1 API Jena........................................

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

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

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

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

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

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

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

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

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

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

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

New Features. Developed by. BPM Conseil - SARL au capital de 70 000 euros - RCS LYON 479 400 129 9, rue Pierre Blanc - 69001 Lyon - France 1/20

New Features. Developed by. BPM Conseil - SARL au capital de 70 000 euros - RCS LYON 479 400 129 9, rue Pierre Blanc - 69001 Lyon - France 1/20 5 New Features Developed by 1/20 Sommaire 1 Introduction... 3 2 Evolutions des studios de développement et améliorations fonctionnelles... 5 3 Portail Vanilla... 6 3.1 Open Street Maps... 6 3.2 Gestion

Plus en détail

Les bases NoSQL et Python. Youenn Boussard

Les bases NoSQL et Python. Youenn Boussard Les bases NoSQL et Python Youenn Boussard Les bases de données Avant 1960 : organisation classique sous forme de fichier 1960 : 1er base de donnée : militaire, hiérarchique, sous forme d'arbre 1970 : Théorie

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

ARCHITECTURES DES SYSTÈME DE BASE DE DONNÉES. Cours Administration des Bases de données M Salhi

ARCHITECTURES DES SYSTÈME DE BASE DE DONNÉES. Cours Administration des Bases de données M Salhi ARCHITECTURES DES SYSTÈME DE BASE DE DONNÉES Cours Administration des Bases de données M Salhi Architectures des Système de base de données Systèmes centralisés et client-serveur Server System Architectures

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

Belleville Nicolas Robert Sylvain Sabadotto Cédric. Sécurité : SAUVEGARDE DE SITE A DISTANCE

Belleville Nicolas Robert Sylvain Sabadotto Cédric. Sécurité : SAUVEGARDE DE SITE A DISTANCE Belleville Nicolas Robert Sylvain Sabadotto Cédric Sécurité : SAUVEGARDE DE SITE A DISTANCE Présentation: Le problème posé dans le sujet est de sauvegarder les données informatiques des serveurs situés

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

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

Créer et partager des fichiers

Créer et partager des fichiers Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation

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

NoSql. Principes. Google (Map Reduce, Big Table) et Amazone (Dynamo) pour faire face à la monté en charge liée au BigData

NoSql. Principes. Google (Map Reduce, Big Table) et Amazone (Dynamo) pour faire face à la monté en charge liée au BigData NoSql Principes Google (Map Reduce, Big Table) et Amazone (Dynamo) pour faire face à la monté en charge liée au BigData Les SGBD NoSql partagés ne peuvent satisfaire que 2 critères au plus NoSql Les transactions

Plus en détail

Plan de cette partie. Implantation des SGBD relationnels. Définition et fonctionnalités. Index. Coûts pour retrouver des données

Plan de cette partie. Implantation des SGBD relationnels. Définition et fonctionnalités. Index. Coûts pour retrouver des données Implantation des SGBD relationnels Université de Nice Sophia-Antipolis Version 3.4 25//06 Richard Grin Plan de cette partie Nous allons étudier (très rapidement!) quelques éléments de solutions utilisés

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

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

Les activités de recherche sont associées à des voies technologiques et à des opportunités concrètes sur le court, moyen et long terme.

Les activités de recherche sont associées à des voies technologiques et à des opportunités concrètes sur le court, moyen et long terme. Mémoires 2010-2011 www.euranova.eu EURANOVA R&D Euranova est une société Belge constituée depuis le 1er Septembre 2008. Sa vision est simple : «Être un incubateur technologique focalisé sur l utilisation

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

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL Prise en main de NVU et Notepad++ (conception d application web avec PHP et MySql) Propriétés Intitulé long Formation concernée Matière Présentation Description Conception de pages web dynamiques à l aide

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

OBM : The Big Rewrite. Raphaël Rougeron Expert technique rrougeron@linagora.com

OBM : The Big Rewrite. Raphaël Rougeron Expert technique rrougeron@linagora.com OBM : The Big Rewrite Raphaël Rougeron Expert technique rrougeron@linagora.com Qu'est-ce qu'obm? Qu'est-ce qu'obm? Un groupware (agenda, messagerie, contacts) Une solution «mobile» compatible avec de nombreux

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

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

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

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

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

Guide de sécurité de VMware vrealize Log Insight

Guide de sécurité de VMware vrealize Log Insight Guide de sécurité de VMware vrealize vrealize 2.5 Ce document prend en charge la version de chacun des produits répertoriés, ainsi que toutes les versions publiées par la suite jusqu'au remplacement dudit

Plus en détail

République Algérienne Démocratique et Populaire. Université Abou Bakr Belkaid Tlemcen. Faculté des Sciences. Département d Informatique

République Algérienne Démocratique et Populaire. Université Abou Bakr Belkaid Tlemcen. Faculté des Sciences. Département d Informatique République Algérienne Démocratique et Populaire Université Abou Bakr Belkaid Tlemcen Faculté des Sciences Département d Informatique Mémoire de fin d études Pour l obtention du diplôme de Master en Informatique

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://lig- membres.imag.fr/leroyv/

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

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

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

«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

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

Programmation Android TP7 - WebServices

Programmation Android TP7 - WebServices 1. WebService Dans le TP6, les avis étaient stockés dans une base SQL. Cette semaine les n-uplets sont stockés sur une base de données externe gérée par un serveur HTTP sur lequel tournent des scripts

Plus en détail

Manuel de référence de HP Web Jetadmin Database Connector Plug-in

Manuel de référence de HP Web Jetadmin Database Connector Plug-in Manuel de référence de HP Web Jetadmin Database Connector Plug-in Mentions relatives aux droits d auteur 2004 Copyright Hewlett-Packard Development Company, L.P. Il est interdit de reproduire, adapter

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

Généralités sur les bases de données

Généralités sur les bases de données Généralités sur les bases de données Qu est-ce donc qu une base de données? Que peut-on attendre d un système de gestion de bases de données? Que peut-on faire avec une base de données? 1 Des données?

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

Logiciel simple pour un Plan de Continuité d'activité et un Plan de Reprise d'activité PCA PRA pdf ppt

Logiciel simple pour un Plan de Continuité d'activité et un Plan de Reprise d'activité PCA PRA pdf ppt Pour la version enregistrée de ce webinaire, aller à http://www.evidian.com/fr/produits/haute-disponibilite-logiciel-clustering-application/plan-de-continuite-d-activite-plan-de-reprise-d-activite-pca-pra-pdf-ppt/

Plus en détail

Sommaire. 1 Introduction 19. 2 Présentation du logiciel de commerce électronique 23

Sommaire. 1 Introduction 19. 2 Présentation du logiciel de commerce électronique 23 1 Introduction 19 1.1 À qui s adresse cet ouvrage?... 21 1.2 Comment est organisé cet ouvrage?... 22 1.3 À propos de l auteur... 22 1.4 Le site Web... 22 2 Présentation du logiciel de commerce électronique

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

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

MycolienDoc : une aide à la gestion d une bibliothèque virtuelle

MycolienDoc : une aide à la gestion d une bibliothèque virtuelle MycolienDoc : une aide à la gestion d une bibliothèque virtuelle Depuis quelques années, nous disposons sur notre ordinateur de bureau d une bibliothèque virtuelle. Cette bibliothèque est composée de documents

Plus en détail

Administration d un serveur de base de données SQL Server 2000 Et programmation

Administration d un serveur de base de données SQL Server 2000 Et programmation Compte rendu d'activité Nature de l'activité : Administration d un serveur de base de données SQL Server 2000 Et programmation Contexte : Dans le cadre de l implémentation d une base de données (Access)

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

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

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

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

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

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

Gestion des licences électroniques avec Adobe License Manager

Gestion des licences électroniques avec Adobe License Manager Article technique Gestion des licences électroniques avec Adobe License Manager Une méthode plus efficace pour gérer vos licences logicielles Adobe Cet article technique traite des enjeux de la gestion

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

Impact du choix du SGBD et de l architecture client-serveur pour garantir le service d un SGBD mis sous forte charge concurrente

Impact du choix du SGBD et de l architecture client-serveur pour garantir le service d un SGBD mis sous forte charge concurrente Impact du choix du SGBD et de l architecture client-serveur pour garantir le service d un SGBD mis sous forte charge Travail de diplôme réalisé en vue de l obtention du diplôme HES par : Muhammad Maqbool

Plus en détail

Sauvegarde collaborative en pair-à-pair

Sauvegarde collaborative en pair-à-pair Sauvegarde collaborative en pair-à-pair Fabrice Le Fessant Fabrice.Le_Fessant@inria.fr ASAP Team INRIA Saclay Île de France Octobre 2008 Fabrice Le Fessant () Backup en pair-à-pair Rennes 2008 1 / 21 Plan

Plus en détail

JDBC. Daniel Tschirhart : Programmation Java V1.35 1.1

JDBC. Daniel Tschirhart : Programmation Java V1.35 1.1 JDBC Daniel Tschirhart : Programmation Java V1.35 1.1 JDBC JDBC est l'acronyme de Java DataBase Connectivity et désigne une API définie par Sun pour permettre un accès aux bases de données avec Java Accès

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

Professeur-superviseur Alain April

Professeur-superviseur Alain April RAPPORT TECHNIQUE PRÉSENTÉ À L ÉCOLE DE TECHNOLOGIE SUPÉRIEURE DANS LE CADRE DU COURS LOG792 PROJET DE FIN D ÉTUDES EN GÉNIE LOGICIEL PHP PROJECT TRACKER GESTIONNAIRE DE PROJECT LOGICIEL LOUIS-ALEXANDRE

Plus en détail

La continuité de service

La continuité de service La continuité de service I INTRODUCTION Si la performance est un élément important de satisfaction de l'utilisateur de réseau, la permanence de la disponibilité des ressources l'est encore davantage. Ici

Plus en détail

Cours Administration BD

Cours Administration BD Faculté des Sciences de Gabès Cours Administration BD Chapitre 2 : Architecture Oracle Faîçal Felhi felhi_fayssal@yahoo.fr 1 Processus serveur 1 Mémoire PGA Architecture SGBD Oracle Processus serveur 2

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

RevGED 3 Manuel d installation

RevGED 3 Manuel d installation RevGED 3 Manuel d installation RevGED est un logiciel de gestion électronique de document. Ce présent document explique comment l installer que vous ayez eu RevGED 2 ou non. Il est complété de configurations

Plus en détail

UltraBackup NetStation 4. Guide de démarrage rapide

UltraBackup NetStation 4. Guide de démarrage rapide UltraBackup NetStation 4 Guide de démarrage rapide Table des matières 1 Fonctionnalités... 3 1.1 Ce qu UltraBackup NetStation permet de faire... 3 1.2 Ce qu UltraBackup NetStation ne permet pas de faire...

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