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 la Wallonnie Créé en 2001 Recherche appliquée et transfert technologique au profit des PME Connexion entre Business/Industrie & Recherche/Académique q Chiffres clés pour 2010 Ressources humaines: 42 employés dont 38 chercheurs Budget: 4.500.000 q Au service du secteur des TIC Contribution au développement économique régional Rayonnement international European Research Area q A l initiative de: 2
Recherche & Développement au CETIC q Software & Service Technologies (SST) Aider les entreprises à exploiter plus rapidement les nouvelles architectures informatiques orientées services, les technologies sémantiques, et les opportunités du logiciel libre q Software & System Engineering (SSE) Aider les entreprises à concevoir des produits et services de meilleure qualité, à en assurer la fiabilité, la sécurité, le respect des normes internationales, en leur apportant un soutien méthodologique q Embedded & Communication Systems (ECS) Aider les entreprises à embarquer plus d intelligence et plus de connectivité dans les systèmes qu elles développent, en exploitant et intégrant les nouvelles technologies électroniques 3
Technologies classiques de traitement de données 4
The big data wall 5
BigData stack 6
Juste la scalabilité? Scalabilité en stockage en puissance de traitement Volume de données Rapidité de traitement (Velocity) Variété (Variety), hétérogénéité des données Variabilité des données en fonction du temps Redondance des données stockées 7
Scalabilité 8
Répartir la charge de travail Distribuer les traitements informatiques sur les ressources Algorithme Map Reduce 9
Hadoop : origine Apparu dans Nutch (moteur de recherche Open Source) Framework à usage générique 10
Hadoop : architecture 11
Acquisition de données 12
Acquisition de données Outils Données Structurées : ETL (Extract, Transform, Load) Données non structurées : Web/text crawlers Problème : temps d exécution 1 Bit = Binary Digit 8 Bits = 1 Byte 1024 Bytes = 1 Kilobyte 1024 Kilobytes = 1 Megabyte 1024 Megabytes = 1 Gigabyte 1024 Gigabytes = 1 Terabyte 1024 Terabytes = 1 Petabyte 1024 Petabytes = 1 Exabyte 1024 Exabytes = 1 Zettabyte 1024 Zettabytes = 1 Yottabyte 1024 Yottabytes = 1 Brontobyte 1024 Brontobytes = 1 Geopbyte 13
Stockage 14
Stockage Nouvelles approches par le stockage distribué Respect d au plus 2 contraintes sur 3 du théorème CAP Tenter de dépasser les limites des BD relationnelles (NoSQL) o Cohérence / consistance : les données sont vues de la même façon au même moment par tous les nœuds du réseau ; o Disponibilité (Availability) : la garantie de recevoir une réponse, même en cas d échec ; o résistance au Partitionnement : le système doit continuer à répondre correctement même si une partie de l infrastructure ne répond pas. 15
Not only SQL (NoSQL) Variations autour de CAP SGBDR: Atomicity, Consistency, Isolation, Durability (ACID) NoSQL : BASE Basically Available : le système doit absolument garantir la disponibilité ; Soft state : le système peut passer par des états «non finalisés» ; Eventually consistent : la consistance n est garantie qu à la finalisation d un ensemble d opérations Source: Eric Brewer 16
Une taxonomie du NoSQL 4 grandes familles d outils NoSQL Clé / valeur Orienté document Orienté Colonne Orienté Graphe (Possibilités d ajout de réplication des données) Source: Xebia 17
Clé / valeur Stockage d'une valeur arbitraire (en bits) associée à une clé unique dans la base Hashtable distribuée Lecture très rapide lorsqu'on connait la clé Réplication possible sur plusieurs machines La consistance peut être assurée si désirée (lecture des données répliquées) Scalabilité linéaire 18
Orienté document Extension du stockage Clé/Valeur Grande flexibilité dans la structure (s'adapte à tout type d'application) La base de données connait la structure de chaque document «valeur» associé à une clé (généralement un format JSON ou JSON-like) Possibilité d effectuer des requêtes proches du SQL Ajout, modification, lecture ou suppression de seulement certains champs dans un document (pas pour CouchDB) 19
Orienté colonne Modèle de données : Ensemble de tables contenant une liste de clés A chaque clé est associée un ensemble fixe de familles de colonnes Chaque famille de colonnes peut contenir une nombre indéterminé de colonnes Structure flexible pour les tables Bien adapté aux relations one-to-many Pas de coût de stockage pour une valeur «null» /vide Stockage des données de façon verticale (par colonne) 20
, A Vue conceptuelle de la table 3 Orienté colonne, #" Stockage physique pour cette table 21
Orienté graphe Représentation des données sous forme d'un graphe Utiles quand on doit faire face à des JOIN en chaîne Idéales pour les relations many-to-many Application : a priori pour les réseaux sociaux 22
Quelques utilisations Utilisé par «les grands du Web» pour gérer les grands ensembles de données Google : BigTable Amazon : Dynamo Yahoo! : HBase Hadoop Microsoft : Azure Storage Facebook : Cassandra + MySQL -> HBASE Twitter : Cassandra LinkedIn : Voldemort... 23
NoSQL quand c est nécessaire Conversion SQL -> NoSQL pas automatique Solutions mixtes? Capacité d adaptation des SGBDR Emploi de NoSQL lié au besoin pas uniquement aux performances 24
Pré-traitement & requêtage 25
Pré-traitement & requêtage Données structurées Formatage et filtrage Production de données intermédiaires (clustering, ) Données non structurées Extraction d entités nommées, de méta données Classification, regroupement Outils Requêtage et workflows de données (outils Hadoop) Machine learning : dégager des patterns dans les données Outils sémantiques (OpenCalais, ) 26
Retour d expérience Traitement de données de réseau électrique Hadoop + Hbase : paralléliser le calcul (+ stockage) Pas de recette magique SQL g NoSQL Stockage et analyse d ADNs MongoDB : adapté aux données (+ transition SQL g NoSQL) Accélération : x10 à x15 Analyse haut débit de données internet Memcached & Voldemort : clef-valeur adapté aux données Tests de débit concluants Stockage et analyse de données, sites à grande capacité MongoDB + Redis (file de messages) : flexibilité & scalabilité Flexibilité concluante, benchmarks partiellement faits 27
Technologies 28
Et le Cloud? Software as a Service Service Généraliste Google BigQuery, Rackspace Infochimps, Plateforme IBM BigInsights, Offre spécialisée Par outil (ex. : visualisation) ou métier (ex.: bookt.com) Platform as a Service Offre autour de Hadoop (ou équivalent) Amazon Elastic MapReduce (EMR), Hadoop on Azure Stockage NoSQL prêt à l emploi Amazon DynamoDB, Microsoft Azure Table Storage Infrastructure as a Service Tous les outils présentés sont installables soi même 29
Synthèse Source: O Reilly 30
Contact : stephane.mouton@cetic.be www.cetic.be/stephane-mouton orlando.cassano@cetic.be www.cetic.be/orlando-cassano Thank you CETIC Aéropôle de Charleroi-Gosselies Rue des Frères Wright, 29/3 B-6041 Gosselies info@cetic.be www.cetic.be