Sommaire

Le big data a marqué la fin de l’approche «taille unique» des SGBD relationnels, avec de nouvelles solutions et technologies, riches et variées, adaptées à différents besoins. Afin d’aider à se repérer dans un paysage complexe et à faire les choix stratégiques pour le SI, ce séminaire fait le point sur les architectures de gestion de big data.

Il répond aux questions suivantes :

    Big data : quels enjeux ? quels retours d’expériences en entreprise ? quels sont les meilleurs cas d’utilisation dans l’industrie ?

    Architectures big data : pourquoi de nouvelles approches ? que dit le théorème CAP ? différences avec les architectures des SGBD relationnels ?

    Architectures de stockage : objet ou fichier ? pour quels besoins ?

    Indexation et recherche de big data : comment fonctionnent les moteurs de recherche ?

    Architectures massivement parallèles : stockage en ligne versus colonne ? SGBD versus framework parallèle ? comment les associer ? impact du in-memory sur l’architecture ?

    Nouveaux modèles de données : clé-valeur, table, document, graphe, stream. La fin de l’approche taille unique du relationnel ? Impact du big data sur l’existant ?

    SGBD NoSQL : critères de choix ? comment allier relationnel et NoSQL ? quid du NewSQL ?

    Intégration de données : comment intégrer le big data avec les données du SI ? data warehouse versus data lake ?

LE MOT DE L’INTERVENANT

« Avec ce séminaire, je compte vous éclairer dans vos choix stratégiques en matière d’architectures Big Data, afin de faire face à l’évolution sans précédent des données à gérer dans votre SI. Ces données sont de plus en plus nombreuses, distribuées, interconnectées, hétérogènes, mobiles… Et de plus en plus difficiles à intégrer et analyser, notamment en temps réel. Vous pourrez comprendre les concepts et les techniques à la base des architectures Big Data, ainsi que leur impact sur l’existant, et ainsi vous repérer dans l’offre pléthorique du marché, où nouveaux acteurs bousculent grands éditeurs traditionnels. »

Patrick Valduriez

Docteur en informatique, Directeur de Recherche à Inria et expert en bases de données, Big Data et systèmes d’informations, senior scientist au Micrœlectronics and Computer Technology Corporation (USA), professeur à l’Université Paris 6 et Directeur de Dyade entre Bull et Inria. Consultant international, auteur de « Principles of Distributed Database Systems ».



Big data : enjeux
et opportunités


Evolution des données

  • Le big data et les 5 Vs : volume, variété, vélocité, véracité, validité.
  • Données massives : Web, réseaux sociaux, Open Data, capteurs, données scientifiques.
  • Ouverture des données : l’Open Data.
  • Interconnexion des données : le Linked Open Data.
  • Variété, distribution, mobilité des données sur Internet.
  • Vélocité et flux continus de données.

Les enjeux pour les entreprises

  • Véracité et validité des données provenant de sources variées pour la prise de décision.
  • Analyses complexes sur big data, Big Analytics.
  • Production d’informations en temps réel à partir de big data.
  • Croisement et visualisation de données publiques et privées.
  • Réactivité : traitement de flux de données en temps réel.
  • Les succès et les échecs de projets big data.
  • Quels sont les meilleurs cas d’utilisation dans l’industrie?
  • Cloud et big data : le mariage parfait ?

Opportunités offertes par les progrès matériels

  • Le stockage : mémoires flash, disques HDD versus SSD, la nouvelle hiérarchie de mémoires.
  • 1 teraoctet de RAM sur un chip : l’avènement du traitement de données in-memory ?
  • Processeurs multi-cœurs, la combinaison CPU/GPU, la nouvelle hiérarchie du calcul parallèle.
  • Les architectures massivement parallèles (MPP) : speed-up, scale-up, scale-out, élasticité.

Architectures des bases
de données parallèles


La pile logicielle du SGBD

  • Partage de données, définition et évolution de schéma, cohérence et protection des données.
  • Le standard SQL : requêtes, transactions, vues, contraintes d’intégrité et triggers.

    Optimisation et réglage, l’importance du placement et des index.

    L’analyse de données: décisionnel, OLAP et Business Intelligence.

Architectures parallèles

  • Parallélisme de données : inter-requête, inter-opération, intra-opération, pipeline.
  • Architectures de stockage : NAS versus SAN en cluster.
  • Architectures parallèles : SMP, NUMA, cluster shared-disk, cluster shared-nothing.

Techniques de base

  • Organisation des données : stockage en ligne ou en colonne.
  • Placement des données : partitionnement et sharding, indexation.
  • Transactions distribuées : modèle ACID, protocole 2PC, tolérance aux pannes et scalabilité.
  • Réplication de données : cohérence des copies, propagation des mises à jour.

  • Haute disponibilité : le failover, les points de sauvegarde pour requêtes lourdes.
  • Parallélisation des requêtes, optimisation et équilibrage de charge.

SGBD parallèles

  • Produits principaux: Actian, IBM, Microsoft, Oracle Exadata, MySQL Cluster, SAP Sybase, Teradata, HP Vertica, ParAccel, EMC GreenPlum.
  • Étude de cas : Sabre Air Travel Shopping Engine.

Architectures
Big Data


Motivations

  • La fin de l’approche « taille unique » du relationnel.
  • Architecture 3-tiers dans le cloud.
  • Le théorème CAP: analyse et impact.

La pile logicielle big data

  • Les niveaux fonctionnels : stockage, organisation, traitement, intégration, outils d’indexation et d’analyse.
  • La gestion de clusters.
  • L’architecture Hadoop, comparaison avec les architectures Lambda et Kappa.
  • Comparaison avec les SGBD relationnels.

Stockage d’objets

    Objectifs : objets volumineux, faciles à transférer sur Internet.

    Architecture : OID, métadonnées, objets distribués.

    Services dans le cloud : Amazon Web Services S3, Rackspace, Microsoft Azure, Google Cloud Storage.

Stockage en fichiers distribués

    Objectifs : très grands fichiers dans un cluster, tolérance aux fautes, parallélisme.

    Architecture : métadonnées, partitionnement et réplication, optimisations.

  • Systèmes de fichiers distribués : Hadoop HDFS, Google File System, IBM GPFS, GlusterFS, Lustre.

L’indexation et la recherche de big data

    Techniques : index, fichiers inverses, index multidimensionnels, bitmaps, recherche par mot-clé, recherche par contenu.

    Moteurs de recherche : Bing, Google Search, ElasticSearch, Exalead, Lucene, Indexma, Qwant, Splink.

  • Etude de cas Google Search : l’algorithme PageRank, l’architecture en cluster shared-nothing.

SGBD
NoSQL


SGBD clé-valeur

    Gestion de l’accès sur clé, parallélisme, tolérance aux fautes.

    Architecture : tableau associatif, table de hachage distribuée, gestion des clés.

  • Systèmes clé-valeur : Amazon DynamoDB, Amazon SimpleDB, Apache Cassandra, Linkedin Voldemort.
  • Etude de cas Orange: supervision de réseau avec Cassandra.

SGBD tables

  • Modèle de données : table, orienté ligne/colonne, opérateurs ensemblistes.
  • Architecture : partitionnement et réplication de tables, stockage en fichiers.
  • Exemples : Google Bigtable sur GFS, Hadoop Hbase sur HDFS, Apache Accumulo.
  • Etude de cas Scaled Risk: Hbase dans les services financiers.

SGBD documents

    Modèles XML et JSON, langages de requêtes: XQuery, SQL/XML, JSONiq, Json Query, Jaql.

    SGBD XML : BerkeleyDB XML, DB2 pureXML, EMC X-Hive/DB, Apache Xindice, etc.

    SGBD JSON : MongoDB, CouchBase, LinkedIn Espresso, etc.

    XML/JSON dans les SGBD relationnels : IBM DB2, Oracle, SQLServer, SAP Sybase, MySQL, PostgreSQL.

  • Etude de cas MetLife : vue 360° des assurés avec MongoDB.

SGBD graphes

  • Modèle de données : graphe, RDF, opérateurs de parcours de graphes, langages de requêtes.
  • Architecture : partitionnement et réplication de graphes, stockage en fichiers, index.
  • Exemples : Neo4J, DEX/Sparksee, AllegroGraph, InfiniteGraph, IBM DB2 Sparql.
  • Etude de cas GameSys : intégration sociale et jeux en ligne avec Neo4J.

SGBD NewSQL

  • Le relâchement de la cohérence : problèmes pour les développeurs et les utilisateurs.
  • NoSQL versus relationnel. L’intégration SQL/NoSQL.
  • Les SGBD NewSQL : Google F1, CockroachDB, LeanXcale, MemSQL, SAP HANA, VoltDB.
  • Etude de cas Google : gestion de la base AdWords avec F1.

Frameworks de traitement de données parallèles


Le framework MapReduce

  • Objectifs : analyse de big data en mode batch.
  • Le modèle de données clé-valeur, les fonctions Map et Reduce, partitionnement des fichiers.
  • Architecture : tolérance aux fautes et équilibrage de charge.

L’écosystème Hadoop

  • Les fondements : HDFS, Yarn, MapReduce.
  • Les outils : Pig (interface workflows), Hive (interface SQL).
  • Distributeurs/éditeurs principaux: Cloudera, Datameer, Datastax, Greenplum HD, Hurence, Hortonworks, Talend, VMware.

Traitement des flux de données

  • Les concepts : data streams, requêtes continues, données temporaires, réponses approchées.
  • Modélisation des flux : séquences, séries temporelles, fenêtre fixe ou glissante sur le flux.
  • Les outils : InfoSphere Streams, Kafka, Parstream, Samza, Storm, Streambase, StreamInsight.
  • Etude de cas Beymani : détection de fraude en temps reel.

Le framework Spark

  • Objectifs : analyse de big data en mode interactif et itératif.
  • Extensions du modèle MapReduce : le langage Scala, transformations et actions.
  • Les Resilient Distributed Datasets : partitionnement, tolérance aux fautes et stockage in-memory.
  • Les outils : Spark SQL, Spark Streaming, MLlib (machine learning), GraphX (graphes).
  • Distributeurs/éditeurs principaux: Apache, Cloudera, Amazon EC2, Hortonworks.

Traitement des graphes

  • Le modèle de calcul de graphes de Google Pregel.
  • Etude de cas Facebook : gérer 1000 milliards de liens avec Apache Giraph.

Architectures d’intégration de big data


Intégration de données hétérogènes

    Opportunités : les APIs d’accès aux données des grands acteurs du Web (réseaux sociaux, e-commerce, etc.).

  • Intégration réelle (data warehouse) ou virtuelle (fédérateur de données).
  • Médiateur, adaptateur et ETL.
  • Intégration de schémas et d’ontologies : les conflits sémantiques, le problème de la résolution d’entité.
  • Modèles de données pour l’intégration : relationnel, XML, JSON, clé-valeur.
  • L’offre produits et services.

Le data lake

  • Problèmes avec les entrepôts de données : développement avec ETL, schéma en écriture.
  • Apports : schéma en lecture, traitement de données multi-workload, ROI.
  • Architecture : sources, systèmes de données, outils, applications.
  • Meilleures pratiques.

  • Etude de cas dans le commerce de détail : performance du marketing ciblé.

Intégration du big data dans un data warehouse

  • Nouveaux besoins en acquisition, organisation, analyse.
  • Place de Hadoop dans une architecture d’intégration, les ETL comme Splunk.
  • Exemples de plateformes d’intégration: Microsoft HDInsight, IBM InfoSphere BigInsights, Oracle Bigdata Appliance.

Systèmes multistores

  • Intégration de données SQL et NoSQL : couplage faible versus couplage fort.
  • Exemples : Microsoft Polybase, HadoopDB.