background preloader

MapReduce

MapReduce
Un article de Wikipédia, l'encyclopédie libre. Les termes « map » et « reduce », et les concepts sous-jacents, sont empruntés aux langages de programmation fonctionnelle utilisés pour leur construction (map et réduction de la programmation fonctionnelle et des langages de programmation tableau). MapReduce permet de manipuler de grandes quantités de données en les distribuant dans un cluster de machines pour être traitées. Présentation[modifier | modifier le code] Un modèle de programmation[modifier | modifier le code] MapReduce est un modèle de programmation popularisé par Google. MapReduce consiste en deux fonctions map() et reduce(). Dans l'étape Map le nœud analyse un problème, le découpe en sous-problèmes, et les délègue à d'autres nœuds (qui peuvent en faire de même récursivement). map(clé1,valeur1) → list(clé2,valeur2) //En pseudo code cela donneraitMap(void * document){ int cles = 1; for each mot m in document calculIntermediaire(m,cles);} reduce(key2,list(valeur2))→ list(valeur2)[1] Related:  Business Intelligence

Criteo = Hadoop + CouchBase + Elastic Serach Pour offrir le meilleur aux annonceurs, Criteo manipule des volumes de données considérables avec des temps de réponse de quelques dixièmes de seconde. Plongeon au cœur de son architecture. C'est l'une des start-up internet françaises qui connaît actuellement le plus de succès dans le monde. Tout le monde connait aujourd'hui ces bannières publicitaires ultra-ciblées qui vous suivent d'un site à l'autre, vous rappelant les articles que vous avez vus sur un site marchand et vous proposant de retourner sur ce site pour conclure votre achat. Un véritable pari technologique lorsqu'on sait que toutes ces opérations doivent être réalisées en quelques dixièmes de seconde et que Criteo réalise le processus 3 milliards de fois chaque jour.

Google App Engine Un article de Wikipédia, l'encyclopédie libre. Google App Engine est une plateforme de conception et d'hébergement d'applications web basée sur les serveurs de Google. Historique[modifier | modifier le code] La première version de ce service (appelée 'beta'), est sortie en avril 2008, avec la possibilité d'enregistrer uniquement des comptes gratuits[1]. L'offre de cette première version propose 500Mo de stockage persistant, et suffisamment de bande passante et de capacités de calcul pour servir 5 millions de pages par mois. Depuis, de nombreuses fonctionnalités sont venues étayer l'offre de ce service ainsi que des outils facilitant le développement et la gestion des applications. Avril 2008 : Mai 2008 : L'outil Google App Engine Launcher est disponible sur MacOS.Ajout des APIs Image Manipulation et MemCache.Les inscriptions au service sont désormais ouvertes au public. Juillet 2008 : Possibilité d’héberger jusqu’à 10 applications au lieu de 3.Possibilité d’exporter les logs. Décembre 2008 :

NoSQL Un article de Wikipédia, l'encyclopédie libre. En informatique, NoSQL désigne une famille de systèmes de gestion de base de données (SGBD) qui s'écarte du paradigme classique des bases relationnelles. L'explicitation du terme la plus populaire de l'acronyme est Not only SQL (« pas seulement SQL » en anglais) même si cette interprétation peut être discutée[1]. La définition exacte de la famille des SGBD NoSQL reste sujette à débat. Le terme se rattache autant à des caractéristiques techniques qu'à une génération historique de SGBD qui a émergé à la fin des années 2000/début des années 2010[2]. D'après Pramod J. L'architecture machine en clusters induit une structure logicielle distribuée fonctionnant avec des agrégats répartis sur différents serveurs permettant des accès et modifications concurrentes mais imposant également de remettre en cause de nombreux fondements de l'architecture SGBD relationnelle traditionnelle, notamment les propriétés ACID. Théorie[modifier | modifier le code]

ce que Hadoop ? Data warehouse, stockage et traitement distribués Définition Hadoop Hadoop est un projet Open Source géré par Apache Software Fundation basé sur le principe Map Reduce et de Google File System, deux produits Google Corp. Le produit est écrit en langage Java. Hadoop peut être considéré comme un système de traitement de données évolutif pour le stockage et le traitement par lot de très grande quantité de données. Hadoop et les analyses massives Le web n'est pas le seul à générer de grandes masses d'informations. Les analyses massives autorisent alors des optimisations bien plus fines. Benchmark Pour avoir une meilleure idée de la performance du système et de la révolution à venir : En Mai 2009 chez Yahoo Corp, utilisateur de Hadoop, 1 téra-octet (1012 ) de données a été trié en 62 secondes (cf blog développeur yahoo, voir plus bas)... Ressources Lecture recommandée › Comment utiliser Hadoop pour bâtir des systèmes distribuées afin de procéder à l'analyse de très grandes quantités de données.

Introduction à Google App Engine Google App Engine permet d'exécuter vos applications web sur l'infrastructure de Google. Les applications App Engine sont faciles à construire, faciles à maintenir, et supportent facilement la montée en charge de votre trafic et de vos besoins croissants de stockage de données. Avec App Engine, il n'y a pas de serveurs à maintenir: Vous chargez juste vos applications, et elles sont aussitôt disponibles pour vos utilisateurs. Vous pouvez mettre à disposition vos applications depuis votre propre nom de domaine (tel que en utilisant Google Apps. Ou, vous pouvez utiliser directement le nom qui vous est fourni sur le domaine appspot.com. Vous pouvez partager votre application avec le monde, ou limiter l'accés aux membres de votre organisation. Google App Engine supporte les applications écrites dans plusieurs langages de programmation. Avec App Engine, vous payez seulement pour ce que vous utilisez. App Engine ne coûte rien pour démarrer. II.1. II.2. II.3. II.4.

Cloud computing Un article de Wikipédia, l'encyclopédie libre. Le cloud computing[1], ou l’informatique en nuage ou nuagique ou encore l’infonuagique (au Québec), est l'exploitation de la puissance de calcul ou de stockage de serveurs informatiques distants par l'intermédiaire d'un réseau, généralement Internet. Ces serveurs sont loués à la demande, le plus souvent par tranche d'utilisation selon des critères techniques (puissance, bande passante, etc.) mais également au forfait. Le cloud computing se caractérise par sa grande souplesse : selon le niveau de compétence de l'utilisateur client, il est possible de gérer soi-même son serveur ou de se contenter d'utiliser des applicatifs distants en mode SaaS[2],[3],[4]. Selon la définition du National Institute of Standards and Technology (NIST), le cloud computing est l'accès via un réseau de télécommunications, à la demande et en libre-service, à des ressources informatiques partagées configurables[5]. Terminologie[modifier | modifier le code]

Les principes de l’ETL Pour alimenter le datawarehouse des différentes applications de l’entreprise, on utilise une gamme d’outils appelés ETL, pour « Extract, Transform, Load ». Comme le nom l’indique, ces outils permettent d’extraire des données à partir de différentes sources, de les transformer (format, dénomination), et de les charger dans la base de données cible, ici le datawarehouse. Les transformations confiées à un ETL sont souvent simples, mais elles peuvent dans certains cas inclure des traitements procéduraux, de véritables programmes spécifiques. Un ETL permet d’éviter la réalisation de programmes batch répétitifs, souvent semblables, dont il faudra également assurer la maintenance. L’ETL peut prendre en charge différentes natures de sources de données, tant en entrée qu’en sortie, les principales étant bien sûr les SGBD relationnels, et les flux XML, mais il peut s’agir aussi de fichiers à formats fixes ou avec séparateurs (CSV). L’ETL a vocation à travailler en différé, le plus souvent la nuit.

Google App Engine - La programmation pour le cloud computing La plateforme de Google, Google App Engine (GAE) utilise nativement le langage Python. Comme beaucoup de produits Google, GAE est encore en version beta. Il s’agit plus pour l’instant de tester le concept que de déployer des applications critiques. Google offre aux développeurs des comptes d’essai gratuits autorisant 500 Mo de stockage, 200 mégacycles de CPU par jour et 10 Go de bande passante par jour. Ce qui permet aux applications de servir jusqu'à 5 millions de pages vues par mois, autant dire qu’on a largement de quoi voir venir. En cas de dépassement de la consommation, le supplément est facturé. Google App Engine SDK est un package complet qui fournit des API et des outils permettant de développer et d’exécuter l’application dans un environnement local offrant les mêmes API que le service en ligne. Récemment, Google a annoncé le support de Java pour Google App Engine, en version préliminaire (Early Look).

Superordinateur Un article de Wikipédia, l'encyclopédie libre. Superordinateur à la NASA. Le superordinateur JET. Un superordinateur, ou supercalculateur, est un ordinateur conçu pour atteindre les plus hautes performances possibles avec les technologies connues lors de sa conception, en particulier en termes de vitesse de calcul. La science des superordinateurs est appelée « calcul à haute performance » (en anglais high-performance computing, HPC). Historique[modifier | modifier le code] Les premiers superordinateurs sont apparus dans les années 1960, conçus par Seymour Cray pour le compte de la société Control Data Corporation (CDC), premier constructeur mondial de superordinateurs jusque dans les années 1970. Utilisation[modifier | modifier le code] Total de la puissance de calcul des 500 meilleurs supercalculateurs mondiaux de 1993 à 2008 (selon TOP500). Les institutions de recherche civiles et militaires comptent parmi les plus gros utilisateurs de superordinateurs. Conception[modifier | modifier le code]

ETL, les questions à se poser ETL, acronyme de Extraction, Transformation, Loading, est un système de chargement de données depuis les différentes sources d'information de l'entreprise (hétérogènes) jusqu'à l'entrepôt de données (modèles multidimensionnels). Ce système ne se contente pas de charger les données, il doit les faire passer par un tas de moulinettes pour les dé-normaliser, les nettoyer, les contextualiser, puis de les charger de la façon adéquate. Nous verrons par la suite ce que chaque mot veut dire. Il est important de savoir que la réalisation de l'ETL constitue 70% d'un projet décisionnel en moyenne. Avant de commencer, visualisez le schéma d'un entrepôt et sa façon de fonctionner (gérer l'historique, dimensions, faits, etc.). Dé-normalisées : dans un DW (Data Warehouse), avoir des doublons n'est pas important, avoir un schéma en troisième forme normale est même déconseillé. Si vous cherchez des méthodes de conceptions d'ETL, et bien il n'y en a pas. III-A. III-B. III-C. III-D. III-E. Et oui !

Informatique décisionnelle Un article de Wikipédia, l'encyclopédie libre. Pour les articles homonymes, voir DSS et BI. L’informatique décisionnelle s’insère dans l’architecture plus large d’un système d'information mais n'est pas un concept concurrent du management du système d'information. Enjeux de l'informatique décisionnelle[modifier | modifier le code] Les entrepôts de données permettent de produire des rapports qui répondent à la question « Que s’est-il passé ? Le reporting est probablement l'application la plus utilisée encore aujourd'hui de l’informatique décisionnelle, il permet aux gestionnaires : Les datamart et/ou les datawarehouses peuvent ainsi permettre via l'OLAP l’analyse très approfondie de l’activité de l’entreprise, grâce à des statistiques recoupant des informations relatives à des activités apparemment très différentes ou très éloignées les unes des autres, mais dont l’étude fait souvent apparaître des dysfonctionnements, des corrélations ou des possibilités d’améliorations très sensibles.

Qu’est-ce que le Data Lake, le nouveau concept "Big Data" en vogue Le Data Lake doit permettre, enfin, de casser les silos des systèmes d’information. C’est aussi un moyen de gagner en agilité. L'expert Vincent Heuschling répond aux questions du JDN. Qu’est-ce qu’un Data Lake ? Le Data Lake, ou lac de données, est un concept relativement nouveau lié à la mouvance Big Data. L’émergence du concept de Data Lake s’est accélérée grâce avec la convergence du besoin de plateformes fédératrices dans les entreprises et de nouveaux moyens techniques économiques apportés par les technologies de Big Data. En quoi est-ce différent d'un datawarehouse ? La tentation est très souvent forte d’apparenter le Data Lake à un classique datawarehouse, mais les différences entre les deux sont importantes, et ceci sur plusieurs plans. Avec le Data Lake, l'analyse de données devient opérationnelle Un autre facteur différenciant le Data Lake vis-à-vis de son ancêtre réside dans le coté opérationnel qui peut lui être associé. Quels sont les atouts d'un Data Lake ?

Related: