Journées ANF 2018 Mathrice - Service De Gestion De Conférences De .

Transcription

1Mathrice ANF 2018BD 3Structures de données complexeset traitement de données massivesChristian LENNEUniv. Grenoble AlpesUMS GRICADANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

BD 3 : Introduction / Contexte2Big Data : retour sur les définitionsRegroupement de donnéesApprochesLes éco-systèmes autour du Big DataExemple sur un projet autour de la santéANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

Définition du Big Data Big Data : l’analyse de données en masseInventé par les géants du web, le Big Data se présente comme unesolution dessinée pour permettre à tout le monde d’accéder en temps réelà des bases de données géantes. Il vise à proposer un choix auxsolutions classiques de bases de données et d’analyse (plate-forme deBusiness Intelligence en serveur SQL ).Selon le Gartner, ce concept regroupe une familled’outils qui répondent à une triple problématique diterègle des 3V. Il s’agit notamment d’un Volume dedonnées considérable à traiter, une grande Variétéd’informations (venant de diverses sources, nonstructurées, organisées, Open ), et un certain niveaude Vélocité à atteindre, autrement dit de fréquence decréation, collecte et partage de ces données.ANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

Définition du Big Data selon CC & CL dans un contexte ESR4Masse de données volumineuse et/oucomplexe de par leur structuration ou deleur sémantique floue.L’accès doit être rapideLe temps d’accès doit être « constant » quelque soit le volume d’information à traiterANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

Evolutions technologiques5Les technologies de stockageStockage réparti avec répartition des donnéesHDFS, BeeGFS, construits sur des FS standards(Posix)Les technologies de traitements ajustéesModèle de données au niveau des BD :Modèles orientés clé/valeur, document, colonne ougrapheModèle basé sur MapReduce et Modèle SparkSGDB supportant le modèle :Pour BD NoSQL : Mongo DB, Cassandra, Redis,Neo4J, ArangoDB, Environnement HadoopMaintien en RAM de la données à traiterANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

Regroupement de données6Lac de données : expression introduite par l’arrivée du « concept » BigDataAutres termes désignant peu ou prou la même chose dans un contexteBI :Data WarehouseEntrepôt de donnéesLes Data Warehouse sont généralement basés sur des BDrelationnelles organisées en tables. Elles sont organisées autour d’unetable de faits.Un lac de données (Data Lake) est un référentiel de stockage orientéobjet qui consigne des données dans leur format natif.Dans tous les cas, pour construire on se pose la question « Que veuton mettre en évidence ».Généralement c’est une vue 3D c’est à dire une vue d’un même objetsur plusieurs facettes.ANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

Caractéristiques d’un lac de données7Les données sont orientées« observation »Les données présentes sont stables :modification de leur valeur à la margeLes données proviennent de sources trèsdifférentes : BD, fichiers, systèmes destockages spécifiques, .Données extraites par des outils tels que lesETL (Extract, Transform, Load)2 grandes approches de constructionANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

Concepts liés à l’existant8Des bases de données relationnelles (ORACLE,SQL Serveur, PostgresSQL, MySQL sont les pluscourantes)Des données éparses dans des services :Des fichiers ExcelDes bases de données relationnelles type AccessDes systèmes de fichiers « standards » contenantdes données spécifiques (exple en santé : HL7,DICOM)Des protocoles d’échange spécifiques (exple ensanté : HPRIM pour les CR de biologie, PN13 pourles prescriptions pharmaceutiques)ANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

Quelle gouvernance pour l’entrepôt ?9Quelles études de cas ou projets peuventmanipuler toute ou partie des données ?Quelle organisation pour assurer que lesrègles définies sont appliquées ?Quel impact direct sur l’architecture ?Quelles déclarations CNIL doivent êtrefaites ?ANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

10Construction du lacANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

Déversement dans un « marécage »11?On réfléchit après. comment filtrer ?ANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

Déversement dans un lac limpide12On réfléchit avant :comment organiser ?ETLANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

Structuration du lac (2ième approche)13Dépend de l’usage envisagé :BD relationnelles classiques ou réparties :gestion des contraintes d’intégritéréférentielleBD Objets abases/object-databases-free-software/)BD NoSQL : index, documents, graphesNous avons un faible pour les BD graphes quipermettent d’implémenter un modèle prochede l’Entités-AssociationsANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

Workflow de traitements145 Phases :Sélection et injection données : ETLPossibilité de faire de la qualité, de latraçabilité et une dé-identification minimale.Stockage dans un ou plusieurs espaces (FS,Lac de données, )Recherche / Extraction : constitution d’unDatamartExportation Datamart « dé-identifié sinécessaire »Traitement spécifique du DatamartANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

15Eco-systèmes autourdu Big DataANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

16ANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

17ANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

Ecosystème Hadoop (Hortonworks)18Ambari : administration de la plateformeZeppelin : Notesbook associés aux développements basés sur R / Python / Scala(traitement d’images, génomique)Sqoop : extraction de données. Pas de rétro-actions sur les données sources. Utilisationd’un ETL privilégié autre que Nifi (projet Apache)Hive : faire du SQL. Testé, mais est-ce utile au vu de la philosophie et desperformances ?SolR : recherche dans les compte-rendus et courriers diversSpark : traitement d’image radio et génomiqueRanger : gestion des droits et habilitations (envisagé)ANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

Les tendances BD NoSQL19Voir documents séparé pour classificationLa base orientée clé-valeur. "Sur le principe d'un dictionnaire dont la porte d'entréeest le mot, les bases orientées clé-valeur vont accéder à une valeur de donnéesunique". En plaçant ces données en mémoire, ces bases sont recherchées pour leurvitesse d'exécution. En revanche, elles ne permettent pas de faire des requêtesmulticritères sophistiquées.La base orientée documents. Evolution des bases clé-valeur, les moteurs orientésdocuments n'associent plus une clé à une valeur mais à un document dont lastructure reste libre. Pour cela, ils s'appuient sur le très populaire formatd'échange de données Json (JavaScript Object Notation). Les bases orientésdocuments sont souvent saluées pour la souplesse de leur structure.La base orientée colonnes. Contrairement aux moteurs orientés documents à lastructure libre, les bases en colonnes stockent les données par colonnes. Cettestructure permet en outre d'ajouter plus facilement une colonne à une table. Cesbases sont plébiscitées pour leur capacité à monter en charge et à accueillir uneforte volumétrie de données.L'index inversé. Popularisé par le moteur de recherche de Google, les indexinversés sont représentés dans ce comparatif par ElasticSearch. Basé sur labibliothèque d'indexation open source Lucene et le format Json, ElasticSearchpermet de structurer les données à la manière d'une base orientée documentstout en profitant d'excellentes capacités de requêtage.ANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

Besoins pour assurer le V de Vélocité211- Avoir de la puissance de traitement adaptée au volume dedonnées2- Avoir suffisamment de puissance d’entrées/sortiesdisque (I/O)Comment garantir cela sur le premier aspect ?On augmente le nombre de processeurs du serveurOn ajoute des machines esclaves et des équilibreurs de charge,en spécialisant les esclaves pour lectures et les maîtres pourlecture / écritureMAIS la limite est au niveau des E/S du système de stockageIl faut rajouter des E/S disquesDes systèmes spécialisésLier la données au traitement et donc la répartir sur des nœudsANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

Répartition de la donnée sur plusieurs nœuds22Système de fichiers distribuéSpécifique : HDFS, BeeGFS, Lustre, .On passe par des fonctionsparticulières ou compatible POSIXConstruit sur les FS standardsTraitement parallèleArchitecture répartieCluster de calcul à mémoire partagéeGrille de calculFormat d’échange des donnéesANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

Déploiement de traitement sur plusieurs nœuds23Des solutions pensées pour le CloudProvisionning de machinesContainer Docker, mais s’assurer que c’est adapté auxsolutionsArchitectures de virtualisation possiblesOpenstackVM WareAttention à l’attachement des volumes disques associés(pas sur les mêmes nœuds)ATTENTION !!! Les systèmes peuvent aussi répliquerles données pour la résilience !!! Exple : CEPH sharding MongoDB volume nécessaire volume utileX6ANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

Formats d’échange de données24Format adapté au WebJSON : JavaScript Object NotationLa syntaxe de JSON : {éléments, éléments, .}Les éléments de JSON sont :Un objet: contient d'autres objets ou desvariables.Une variable scalaire: Number, String,Boolean.Un tableau.Les valeurs littérales: null, true, false, chaînede caractères et les valeurs numériques.ANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

Concepts JSON (1)25Un tableau est une collection de valeurs ordonnées. Untableau commence par [ (crochet gauche) et se termine par] (crochet droit). Les valeurs sont séparées par , (virgule).Une valeur peut être soit une chaîne de caractères entreguillemets, soit un nombre, soit true ou false ou null, soit unobjet soit un tableau. Ces structures peuvent êtreimbriquées.Un objetIl contient un membre ou une liste de membres, chaquemembre étant de la forme : "nom" : "valeur"La syntaxe de l'objet est :{ membre, membre, . }ANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

Formats d’échange XML29 ?xml version "1.0" ? racine menu Fichier /menu commandes item titre Nouveau /titre action CreateDoc /action /item item titre Ouvrir /titre action OpenDoc /action /item item titre Fermer /titre action CloseDoc /action /item /commandes /racine ANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

JSON vs. XML30Les avantages de JSON :La vitesse de traitementLa simplicité de mise en œuvreOn n'a pas besoin de parser un fichier XML pour extraire des informations àle net, car JSON est reconnu nativement par JavaScript.traversLes contenus binaires peuvent être intégré et échangés sur le net avec unereprésentation textuelle spéciale avec une commande comme: newBuffer(file).toString('base64').Les avantages de XML :XML est extensible quand au langage, on peut créer des formats comme RSS, SVG.Il est largement utilisé et reconnu par tous les langages de programmation.Il est plus facile à lire et convient mieux pour les fichiers destinés aux nonprogrammeurs.Noter que XML aussi bien que JSON ne conviennent pas pour stocker directement desdonnées binaires de taille importante.SIRClIP- C. CANCÉ, C. LENNEJanvier 2018

Un exemple d’architecture généraleANF mathrice C. CANCÉ, C. LENNE316 Déc. 2018

32Exemple de mise en œuvresur unEntrepôt de Données de SantéANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

SI d’un CHU (centré sur le soin)33PatientsHospitalisationsExamens ( types)ServicesPersonnelsPrescriptionsCourriersANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

Big Data : les différents contextes d’un CHU34Le soin : objectif premier, centré patientL’organisation du soin : objectif de mieux prendre encharge le patient, faire face à des épidémies et rationaliserles moyens pour mieux remplir le premier objectif.La recherche clinique : progresser dans la connaissancedes maladies et leur traitement. Faire bénéficier de cesavancées aux patients.Le pilotage : avoir une vision « au jour le jour » desindicateurs du CHUC’est une approche centrée observation pas de rétroaction vers le SI hospitalierANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

Approches35ANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

Résumé des technos déployées et réutilisables36Technologies mises en œuvre pour S&V4PredimedSearch&View4Portail d’accèsBDsOpenLayer Kibana onJAVASCRIPTANF mathrice C. CANCÉ, C. LENNEFOXXPHPHTML / CSS6 Déc. 2018

POC PREDIMED (2)37Modèle d’organisation du DB)(ArangoDB)CHUGAANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

POC PREDIMED (2)38Alimentation du lac de sExamensdebiologieStructuresPACSDispensationsLac dedonnées38ANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

POC PREDIMED : requête « graphique »39Etape 1 :Recherche dynamiquede cohortesur les données desilotéesRecherche des diagnostics « Diabète » (CIM-10)Identification des patients diabétiquesSélection des patients diabétiques 30 ansEtape 2 :Forage interactif sur lesensembles de donnéesconstituésAnalyse des caractéristiques de la cohorte(ex: comorbidités)(moteur de recherche, visualisation)ANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

POC PREDIMED : requête « graphique »40ANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

POC PREDIMED : requête « graphique »41ANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

POC PREDIMED : visualisation dans Kibana42ANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

POC PREDIMED : projection à la volée43ANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

POC PREDIMED : visualisation traitements44ANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

POC PREDIMED : visu. parcours hospitalier45ANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

POC PREDIMED : visualisation des diagnostics46Pour chaque patient,synthèse des diagnostiquesANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

POC PREDIMED : visualisation diagnostiques47ANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

48C’est la pause :)ANF mathrice C. CANCÉ, C. LENNE6 Déc. 2018

JSON vs. XML Les avantages de JSON : La vitesse de traitement La simplicité de mise en œuvre On n'a pas besoin de parser un fichier XML pour extraire des informations à travers le net, car JSON est reconnu nativement par JavaScript. Les contenus binaires peuvent être intégré et échangés sur le net avec une