NoSQL - Systèmes de gestion de données distribués

Dimension: px
Commencer à balayer dès la page:

Download "NoSQL - Systèmes de gestion de données distribués"

Transcription

1 NoSQL - Systèmes de gestion de données distribués I. Mougenot mougenot@lirmm.fr Faculté des Sciences Université Montpellier I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

2 Préambule NoSQL Les motivations autour du NoSQL (Not Only SQL) Recouvre différentes initiatives qui se targuent d être complémentaires aux modèles relationnels et relationnels objets 1 évolution du Web, projets sources de données ouvertes (Open Linked Data) 2 ր volume des données ր interconnexion des données 3 limites des bases de données relationnelles : schémas très ouverts : nombreuses entités et nombreuses associations entre ces entités évolutions très fréquentes des schémas I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

3 Préambule NoSQL Quand passer par un système NoSQL? Alternatives au relationnel dans des cas de figure ciblés recours fréquent à de l évolution de schémas entités munies de nombreuses caractéristiques souvent non renseignées de multiples associations avec des multiplicités 1..* aux extrémités des attributs organisés naturellement sous forme d arborescences I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

4 Modèle EAV Problème posé par les entités protéiformes Premier effort de modélisation pour mieux comprendre le problème posé Patient PatientId {unique} nom: String dob: date genre: char(1) 1 datee: date * Examen nume {unique} poids: float glycemie: float frequencec: float cholesterolemie : float TA: float... Figure: Diagramme UML : dossier patient I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

5 Modèle EAV Modèle relationnel : traduction du modèle UML précédent Patient(PatientId, nom, dob, genre) Examen(NumE, datee, PatientId, Poids, Glycemie, FrequenceC,... ) avec PatientId Patient(PatientId) Premier problème : révision fréquente du schéma et notamment des colonnes des tables I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

6 Modèle EAV Problème posé par les entités protéiformes Relation Examen en extension nume datee PatientId Poids Glycemie FrequenceC /10/ null null /10/10 3 null 6 null /10/10 2 null null Figure: Schéma relationnel inapproprié I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

7 Modèle EAV Modèle Entité-Attribut-Valeur Rendre une partie du schéma générique vu parfois comme un antipatron Patient PatientId {unique} nom: String dob: date genre: char(1) * Attribut * AttributId {unique} AttributNom: String Datatype: String UniteMesure: String Data DateE : date value: String Figure: Diagramme de classes révisé I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

8 Modèle EAV Schéma relationnel Patient(PatientId, nom, dob, genre) Attribut(AttributId, AttributNom, Datatype, UniteMesure) Data (PatientId, AttributId, datee, value) avec PatientId Patient(PatientId) et AttributId Attribut(AttributId) I. Mougenot (UM2) GMIN332 C / 73

9 Modèle EAV Illustration relations en extension PatientId Nom Dob genre 3 Pierre Martin 20/10/1970 M 2 Marie Monin 20/10/1987 F Figure: Extension possible Patient AttributId AttributNom DataType UniteMesure 1 Poids float Kg 2 FrequenceC float puls/min 3 Glycemie float mmole/l 4 Diagnostic string null Figure: Extension possible Attribut I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

10 Modèle EAV Illustration relations en extension Relation Data en extension AttributId datee PatientId Value 1 20/10/ /10/ /10/ Figure: Extension possible Data I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

11 Modèle EAV EAV : approche hybride Distinction de différents niveaux dans le modèle Patient PatientId {unique} nom: String dob: date genre: char(1) * Attribut * AttributId {unique} AttributNom: String Datatype: String UniteMesure: String Conventionnel Data DateE : date value: String Meta donnees EAV Figure: Diagramme de classes révisé I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

12 Modèle EAV Dans le monde de la BD relationnelle Gérer trois niveaux d information au sein même de la base de données Dictionnaire de données ou méta-schéma : table des tables, table des attributs dans notre cas, la relation Attribut du modèle peut être vue à ce niveau, table des contraintes,... Schéma de données : table Patient, table Medecin,... Monde réel : tuples ou faits de la BD : patients Pierre Martin, Marie Monin,... I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

13 Des extensions au modèle EAV Type de données Prendre en charge des attributs de type LOB Les données de type image : rayon X, échographie, IRM,... nécessitent des considérations complémentaires Patient PatientId {unique} nom: String dob: date genre: char(1) * Data DateE : date DataId {unique} Attribut * AttributId {unique} AttributNom: String Datatype: String UniteMesure: String DataDate DataText DataImage Data... Value : date Value : varchar Value : blob Value :... Figure: De nouvelles classes pour une meilleure prise en charge des types de données associées aux valeurs des attributs I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

14 Des extensions au modèle EAV Type de données Illustration relations en extension AttributId datee PatientId DataId 1 20/10/ /10/ /10/ Figure: Extension possible Data dataid Value Figure: Extension possible DataFloat I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

15 Des extensions au modèle EAV Modèles relationnels inadaptés Limites des modèles relationnels Une solution générique, flexible et efficace (en matière de stockage) mais qui pose quelques problèmes à : l alimentation de la base de données (éclatement de l information, nécessité d étendre les tests de vérification de la validité des données saisies), l interrogation (requêtes SQL rendues plus complexes), l affichage (fournir une information complète et adaptée à la perception de l usager final). I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

16 Des extensions au modèle EAV Limites des modèles relationnels Exemple de requête simple en algèbre relationnelle Donner les patients qui pèsent plus de 70 kgs et qui ont une fréquence de moins de 120 puls/mn Modèle de départ : Π PatientId, nom, dob, genre ( poids > 70 frequencec <120 (Patient Examen)) Modèle EAV simple : Π PatientId, nom, dob, genre ( AttributNom= Poids Value > 70 (Patient Data Attribut)) Π PatientId, nom, dob, genre ( AttributNom= FrequenceC Value <120 (Patient Data Attribut)) I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

17 EAV/CR Des extensions au modèle EAV Autre extension possible CR pour Classes et Relations : ajout d une couche objet pour plus d expressivité dans le modèle ainsi que la prise en charge de structures complexes, notamment en ce qui concerne les métadonnées SousClasse * Classe * AttributType SuperClasse 1 AssocieA * Object 1 * AssocieA Attribut * Data * Figure: Diagramme de classes portant sur les aspects CR I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

18 Intérêts Des extensions au modèle EAV Autre extension possible Maîtrise le requêtage et l affichage Un objet est vu comme une collection de données qui vont pouvoir être restituées de concert à l usager, son voisinage avec d autres objets va pouvoir également être exploité en terme d affichage Une classe va permettre de typer les attributs et peut de plus être recadrée au travers d une hiérarchie de classes : cet ajout de structuration peut être profitable pour une meilleure consultation de l information (faciliter le requêtage) Un tel dispositif peut être mis en oeuvre au travers des surcouches objet/relationnel des SGBDR et notamment de la notion de ADT I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

19 Conclusions EAV Des extensions au modèle EAV Autre extension possible Le modèle EAV souvent décrié, souligne le besoin de schémas de données ouverts métamodèle RDF (triplet SPO) est en droite ligne de ce modèle systèmes NoSQL et la notion clé/valeur reprennent ce principe d ouverture Objectif : gérer de manière unifiée des entités munies de caractéristiques hétérogènes I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

20 Introduction au NOSQL NoSQL : se démarquer des SGBD relationnels Critiques ouvertes prépondérance du schéma et poids fort mis sur la représentation du domaine d intérêt : s affranchir de schémas normalisés vus comme des sophistications inutiles au détriment de l efficacité modèle transactionnel et propriétés ACID : proposer une alternative moins exigeante : CAP (comprenant BASE) passage à l échelle ou scalabilité (scalability) par ajout de serveurs au niveau de l architecture physique : diminuer le temps de réactivité lors de l afflux de nouveaux usagers, de nouvelles transactions à servir systèmes distribués et mécanismes de tolérance aux pannes : fragmentation des schémas et réplication, médiateur, entrepôt de données... I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

21 Introduction au NOSQL Passage à l échelle ou scalabilité Capacité de l architecture à s adapter à une montée en charge (nouveaux usagers, nouvelles transactions) sans besoin de refonte des applications scalabilité horizontale : ajouter des serveurs (noeuds) avec des mécanismes de répartition de charge NoSQL scalabilité verticale : rendre plus performant un serveur : ajout de processeurs (CPU), barrettes mémoire (RAM), disques secondaires, cartes réseaux... I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

22 Introduction au NOSQL Scalabilité horizontale Etablir une relation linéaire entre les ressources ajoutées et l accroissement des performances Nombre Transactions/Sec Nombre serveurs Figure: 1 serveur : 100 transactions/s ; 2 serveurs : 200 transactions/s... I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

23 Introduction au NOSQL SGBDR et besoins applicatifs à large échelle Limites face aux besoins des applications à large échelle sur le Web (à partir Web 2.0) partionnement : les schémas fragmentés (fragmentations horizontale, verticale, hybride) distribués sur l ensemble des partitions doivent être des fragments d un seul schéma de données initial réplication sur différents noeuds : les fondements OLTP (On Line transactional processing) imposent de maintenir une intégrité forte sur les données, dans une application faisant appel à de nombreux noeuds, la disponibilité des données va être pénalisée (surtout si les transactions impliquent de nombreuses écritures). I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

24 Introduction au NOSQL systèmes NoSQL : grands principes Pensés comme des systèmes de données distribués (distributed data stores) Simplicité Flexibilité Efficacité Passage à l échelle : gros volumes de données distribués et interconnectés partitionnement dynamique réplication à large échelle architecture décentralisée I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

25 Introduction au NOSQL Complémentarité des systèmes NoSQL Figure: Persistance dite polyglotte (extrait de NoSQL distilled) I. Mougenot (UM2) GMIN332 C / 73

26 Introduction au NOSQL Théorème CAP Ou théroràme de Brewer : indique qu aucun des systèmes distribués n est à même de satisfaire en même temps les principes C, A et P : 1 Consistency ou cohérence des données : toute modification de donnée est suivie d effet pour tous les noeuds du système 2 Availability ou disponibilité des données : toute requête émise et traitée par un noeud du système, reçoit une réponse (même en situation d échec à produire une réponse) 3 Partition tolerance ou recouvrement des noeuds assurer une continuité du fonctionnement en cas d ajout/suppression de noeud (ou partition) du système distribué Un système distribué va satisfaire deux des trois points mais ne va pouvoir satisfaire les trois - Brewer. Towards robust distributed systems - ACM 2000 I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

27 Introduction au NOSQL Théorème CAP Considérations SGBDR / Systèmes NoSQL 1 SGBDR : Cohérence et haute disponibilité (pas ou peu de P, cad de différents noeuds système) 2 Systèmes NoSQL : Choix du P (système naturellement distribué) et sélection soit du C, soit du A 1 abandon du A Accepte d attendre que les données soient cohérentes 2 abandon du C Accepte de recevoir des données parfois incohérentes I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

28 Introduction au NOSQL Positionnement des systèmes / CAP Figure: Synthèse CAP I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

29 Introduction au NOSQL Parti-pris Base (issu de CAP) versus propriétés ACID BASE : Basically Available, Soft state, Eventual consistency Modèle transactionnel : les propriétés ACID (Atomique, Cohérent, Isolé, Durable) des transactions des SGBDRs ne sont pas complètement respectées au profit des performances et du passage à l échelle BASE : réplication et partitionnement/sharding pour aller vers de la haute disponibilité des données distribuées sur les différents noeuds du système (faire en sorte de diminuer l impact de pannes éventuelles). Le résultat en est un système hautement disponible même si des sous-ensembles de données peuvent devenir indisponibles sur de de courtes périodes Basiquement disponible I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

30 Introduction au NOSQL Parti-pris Base (issu de CAP) versus propriétés ACID BASE : Basically Available, Soft state, Eventual consistency dans l idée les systèmes NoSQL garantissent que les données deviennent cohérentes non pas en instantané mais au travers du temps. Les propriétés ACID nécessitent un verrouillage pessimiste et obligent à vérifier la cohérence des données à chaque fin de transaction. BASE propose une vision optimiste en reportant à plus tard la vérification de la cohérence de la base de données cohérente à terme. L état du système peut changer au travers du temps et cela sans nouvelle mise à jour en raison du modèle cohérence à terme Etat lâche I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

31 Introduction au NOSQL Typologie des systèmes NoSQL Au regard du mode de représentation choisi principe de base : clé/valeur Systèmes clé/valeur distribués Systèmes orientés colonne Systèmes orientés document Systèmes orientés graphe dans un certaine mesure les triples stores I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

32 Introduction au NOSQL Illustration typologie NoSQL Figure: I. Mougenot (UM2) GMIN332 C / 73

33 Introduction au NOSQL Difficulté : absence de standards Au regard du mode de représentation comme du système choisis 1 APIs spécifiques 2 Terminologies propriétaires 3 Mécanismes de requêtage à géométrie variable 1 Systèmes ayant fait école ( proofs of concept ) 1 BigTable 2 Memcached 3 Amazon s Dynamo I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

34 Introduction au NOSQL Systèmes existants Table: Quelques systèmes et leurs modes de représentation Name Mode représentation CAP CouchDB Document AP MongoDB Document CP Neo4j Graph CA GraphDB Graph unknown Hbase Column CP Memcachedb Key-Value unknown Riak Key-Value CP Project Voldemort Key-Value AP Cassandra Column AP Hypertable Column unknown I. Mougenot (UM2) GMIN332 C / 73

35 Introduction au NOSQL Systèmes existants Table: Applications communautaires sur le Web Name Système NoSQL Mode Google BigTable, LevelDB Column LinkedIn Voldemort Key-Value Facebook Cassandra Column Twitter Hadoop/Hbase, Cassandra Column Netflix SimpleDB, Hadoop/HBase, Cassandra Column CERN CouchDB Document Amazon Dynamo Key-Value I. Mougenot (UM2) GMIN332 C / 73

36 Clé/Valeur Exemple significatif : les tweets followed follows date_f: timestamp User Id:integer {unique} name: String password: string creation: timestamp * * follower 1 Tweet * Id:integer {unique} message: String date_t: timestamp Figure: Modèle conceptuel des tweets I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

37 Clé/Valeur Key-Value : table de hachage UserID uid:234 Username "Jean Mineur" taille key restreinte taille value : string,..., blob Password "Balzac 00 01" uid:234:username "Jean Mineur" uid:234:followers uid:266, uid:333, uid:989,... Figure: Exemples de clé/valeur I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

38 Clé/Valeur Key-Value : hash ring Table de hachage distribuée (DHT), stratégie de placement, répartition des charges, limiter les effets des pannes Partitionnement Placement Key Ex : hash(user:userid) : Hash ring Replication sur plusieurs noeuds uid: Figure: Illustration Hash ring I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

39 Clé/Valeur Les opérations les plus courantes Les mécanismes de consultation plus sophistiqués vont permettre de distinguer systèmes clé/valeur avec les systèmes à base de documents ou de colonnes 1 lecture à partir de la clé 2 écriture (create ou put, update, delete) à partir de la clé I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

40 Clé/Valeur Les systèmes les plus représentatifs 1 Riak : (basho) système persistant : disque et B+ Tree, distribué, open source Amazon Dynamo 2 Memcachedb : volatile, non distribué 3 BerkeleyDB (Oracle) 4 Amazon Dynamo 5 Tokyo Cabinet I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

41 Colonne Idées préalables Colonnes : quelques anciens principes pour dépasser les limites du relationnel Données complexes, multivaluées et éparses modèle orienté colonne : les colonnes deviennent les lignes : wide and sparse data : faciliter l évolution du schéma modèle NF2 Non First Normal Form : s affranchir de la contrainte de la première forme normale et gérer des données multi-valuées (collections) et composites (types complexes) I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

42 Colonne Systèmes orientés colonne Idées préalables PatientCode Firstname LastName DOB Address B_A_0001 Jean Martin 5/5/55 Montpellier B_A_0002 Marie Dupont 6/6/66 Ales B_A_0003 Marc Dulac 7/7/77 Sete PatientCode B_A_0001 B_A_0002 B_A_ Firstname Jean Marie Marc... LastName Martin Dupont Dulac... DOB Address 5/5/55 6/6/66 7/7/77 Montpellier Ales Sete Figure: Rotation de 90 degrés I. Mougenot (UM2) GMIN332 C / 73

43 Colonne Idées préalables Systèmes orientés colonne : partitionnement vertical schema Aware des triple stores PatientCode Firstname PatientCode Address B_A_0001 Jean B_A_0001 Montpellier B_A_0002 Marie B_A_0002 Ales B_A_0003 Marc B_A_0003 Sete PatientCode B_A_0001 LastName Martin B_A_0002 Dupont B_A_ Dulac... I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

44 Colonne Idées préalables Colonnes : quelques exemples de systèmes A l origine dans les années : Decomposition Storage Model. SBGDR sous-jacents (usage de vues matérialisées) Académiques C-Store (MIT Cambridge MA) : depuis 2005 MonetDB (CWI Amsterdam) : pionnier en la matière Commerciaux Vertica (C-Store) Sybase IQ InfoBright MySQL I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

45 Colonne Idées préalables Domaines d application phare pour les systèmes orientés colonnes Exploités ou source d inspiration pour : Entrepôts de données Fouille de données Jeux de données scientifiques : santé, écologie, astrophysique, génomique fonctionnelle... Modèles RDF (triple stores) Google Big Table I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

46 Colonne Idées préalables Modèle NF2 : inspiration TAD (SQL3) Données composites et multi-valuées (collection) PatientCode Firstname LastName DOB Symptoms B_A_0001 Jean Ernest Martin 5/5/55 name value date sneezing severe 3/3/3 itchy_troat severe 3/3/3 B_A_0002 Marie Dupont 6/6/66... B_A_0003 Marc Dulac 7/7/77... Antoine Figure: Illustration modèle NF2 I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

47 Colonne Idées préalables Modèle NF2 : SGBD Objet-Relationnel Exemples de types de données abstraits avec Oracle Create type Tsymptom as object (name varchar(15), value varchar(10) diag_date date, ) / Create type coll_symptoms as Table of Tsymptom / Create table Patient (code varchar(8), firstname coll_fsn, lastname varchar(20), dob Date, symptoms coll_symptoms); Nested table symptoms Store As allsymptoms I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

48 NoSQL et familles de colonnes Systèmes NoSQL à colonnes Pour éviter les confusions : oriented Column family plutôt que Column paradigmes : clé/valeur et colonne de manière à représenter les multiples clés possibles Colonne : : triplet : nom de colonne / valeur de colonne / estampille (gérer les versions et les conflits) Famille de colonnes : : regrouper les colonnes qui sont partagées par un ensemble d individus ( property tables et modèle hybride des triple store) Super familes de colonnes : : extension du modèle avec la notion de super familles qui sont des collections de colonnes (poser des index à différents niveaux) I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

49 NoSQL et familles de colonnes Systèmes NoSQL à colonnes Illustration Column family column_name_ column_name_n row_key_x column_value_ column_value_n timestamp_ timestamp_n row_key_x => { column_name_1: column_value_1,... column_name_n: column_value_n, } Figure: Vision générique I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

50 NoSQL et familles de colonnes Systèmes NoSQL à colonnes Illustration Column family PatientCode Firstname LastName Address B_A_0001 B_A_0001 Jean Dupont Montpellier PatientCode Firstname LastName Function OfficeNumber B_A_0002 B_A_0002 Marie Martin Commercial Figure: Exemple de deux tuples d une famille I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

51 NoSQL et familles de colonnes Systèmes NoSQL à colonnes Ecriture inspirée de la notation JSON B_A_0001 => { Gal_Infos:PatientCode: B_A_0001, Gal_Infos:Firstname: Jean, Gal_Infos:LastName: Dupont, Gal_Infos:Address: Montpellier, Allergy_Infos:Sneezing: mild, Allergy_Infos:Itchy_Troat: severe, Allergy_Infos:Snuffy_Nose: moderate, Allergy_Infos:Watery_Eyes: mild, Allergy_Infos:Itchy_Nose: severe, } I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

52 NoSQL et familles de colonnes Systèmes NoSQL à colonnes Illustration Column family CF:Gal_Infos PatientCode Firstname LastName Address B_A_0001 B_A_0001 Jean Dupont Montpellier CF:Allergy_Infos Sneezing Itchy_Troat Snuffy_Nose Watery_Eyes Itchy_Nose B_A_0001 mild severe moderate mild severe Figure: Exemple de deux familles de colonnes I. Mougenot (UM2) GMIN332 C / 73

53 NoSQL et familles de colonnes Systèmes NoSQL à colonnes Illustration Super Column family Super_Column_Name_1 Super_Column_Name_n row_key_x column_name_1 column_value_ column_name_n column_value_n column_name_1... column_value_1... column_name_n column_value_n timestamp_1... timestamp_n... timestamp_1... timestamp_n row_key_x => { Super_Column_Name_1 { column_name_1: column_value_1,... column_name_n: column_value_n, } Super_Column_Name_1 { column_name_1 : column_value_1,... column_name_n : column_value_n, } Figure: Vision générique I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

54 NoSQL et familles de colonnes Systèmes NoSQL à colonnes Ecriture inspirée de la notation JSON B_A_0001 => { Gal_Infos : {PatientCode: B_A_0001, Firstname: Jean, LastName: Dupont, Address: Montpellier, } Allergy_Infos: {Sneezing: mild, Itchy_Troat: severe, Snuffy_Nose: moderate, Watery_Eyes: mild, Itchy_Nose: severe, } } I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

55 NoSQL et familles de colonnes NoSQL : systèmes S inspirent largement de Google BigTable(1) Cassandra Hbase (1) BigTable - A distributed storage system for distributed data - Chang et al, 2006 I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

56 NoSQL et familles de colonnes HBase HBAse : système column family Distribué, privilégie la cohérence et la disponibilité des données sans oublier les performances S appuie sur Hadoop (projet open source Apache) qui facilite le traitement distribué de larges jeux de données et ses composants Hadoop Core = HDFS pour le stockage MasterServer : namenode (mode master/slave) RegionServer : datanode Zookeeper : infrastructure centralisée et services pour gérer un cluster de serveurs : parmi les activités : synchronization, choix du serveur maître et vérification de la disponibilité des serveurs MapReduce : modèle de programmation distribuée I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

57 NoSQL et familles de colonnes Architecture de HBase HBase Figure: Vision générale I. Mougenot (UM2) GMIN332 C / 73

58 NoSQL et familles de colonnes Structurellement parlant : HBase unité de base : table (keyspace) fragmentée en parties égales = régions (intervalles de valeurs de clés) tables triées sur la valeur de la clé familles : nombre quelconque de colonnes colonne (qualifier) : dont les valeurs peuvent être en nombre quelconque de versions (horodatage) (table, row, column family, column qualifier, timestamp) -> value (la valeur de la donnée est stockée avec l ensemble de ses coordonnées) à noter : pas de super colonne avec HBase I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

59 NoSQL et familles de colonnes Organisation de la donnée HBase Figure: I. Mougenot (UM2) GMIN332 C / 73

60 Aspects internes Aspects internes à l architecture de Hbase Structures mises en jeu 1 familles de colonnes (CF) dont les colonnes sont stockées dans les mêmes fichiers bas niveau = HFile 2 une table est associée à une ou à plusieurs régions (partition de valeurs) selon les besoins en matière de place 3 HStore : une zone tampon par région associée à une table : 4 MemStore : une mémoire assignée au tri des tuples et à l écriture séquentielle du flux de données dans les fichiers de données (HFile) - Sort & Flush 5 CachingBlock : tampon de données en mémoire vive 6 HFile : 1 à plusieurs fichiers de données par région 7 HLog : 1 fichier journal par RegionServer 8 Block : unité d échange entre les mémoires vive et de masse (64 Ko à l ordinaire) I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

61 Aspects internes Orchestration de différents composants Table + name : string 1 1..* associatedto Region * 1 RegionServer locatedon 1 HStore 1 LogFile (WAL) Column + name : byte[] + value : byte[] + time : timestamp * 1 ColumnFamily + name : byte[] 1 MemStore CachingBlock stores 1 HFile Figure: Diagramme de classes : structures internes I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

62 Aspects internes Orchestration de différents composants Figure: Extrait de HBase internals and schema design presentation I. Mougenot (UM2) GMIN332 C / 73

63 Aspects internes Mécanisme de reprise Figure: Ecriture dans fichier journal pour restauration éventuelle I. Mougenot (UM2) GMIN332 C / 73

64 Aspects internes Fichiers de données Structure d index : Log Structured Merge (LSM) Tree optimisée pour les accès séquentiels Figure: Ordonnancement des valeurs des colonnes sur la base de la clé du tuple I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

65 Aspects internes Fichiers de données Figure: I. Mougenot (UM2) GMIN332 C / 73

66 Aspects internes Page d accueil (WebApp) Figure: I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

67 Aspects internes Accès et traitement des données Accès plus impératif que déclaratif 1 pas de langage DSL à l exemple de SQL pour requêter les données 2 accès imperatif au travers d API clientes : Java mais recours possible à d autres langages JRuby, Clojure, Scala, Jython,... 3 notion de coprocessor pour traiter directement les données au niveau d un noeud de données (RegionServer) 4 complémentarité avec le framework MapReduce qui fournit des wrappers pour convertir les tables en collection de paires clé/valeur en entrée comme en sortie de diverses tâches d analyse I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

68 En pratique Aspects internes Clients HBase API Java Shell HBase (JRuby) Clients non-java serveurs Thrifts (Ruby, C++, Erlang,... ) serveurs Rest (Stargate) I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

69 Aspects internes Construire une table et deux colonnes avec JRuby create ville, ig, ip10 put ville, 01024, ig:codeinsee, put ville, 01024, ig:nom, Attignat put ville, 01024, ig:popmun, 2850 put ville, 34172, ig:codeinsee, put ville, 34172, ig:nom, Montpellier put ville, 34172, ig:popmun, put ville, 34172, ip10:nbreredevables, put ville, 34172, ip10:nbreredevables, 1914 delete ville, 34172, ip10:nbreredevables scan ville resultats ROW COLUMN+CELL column=ig:codeinsee, timestamp= , value= column=ig:nom, timestamp= , value=attignat... I. Mougenot (UM2) GMIN332 C / 73

70 Aspects internes Exemples API Java Opérations élémentaires 1 opérations sur une table : create, scan, disable, drop 2 opérations sur un tuple : put, delete, get 3 notions de filtre à partir du parcours des tuples d une table I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

71 Aspects internes Construire une table et insertion de tuples Configuration hc = HBaseConfiguration.create(); HTableDescriptor ht = new HTableDescriptor( "patient" ); ht.addfamily( new HColumnDescriptor( "allergy" ) ); Put pierreput = new Put(new String("P_M_001").getBytes()); pierreput.add(new String("allergy").getBytes(), new String("sneezing").getBytes(), new String("mild").getBytes()); HBaseAdmin hba = new HBaseAdmin( hc ); System.out.println( "creating table...patient " ); hba.createtable( ht ); HTable table = new HTable(hc, "patient"); System.out.println( "creating row...pierre " ); table.put(pierreput); Listing 2: Une table et un tuple I. Mougenot mougenot@lirmm.fr (UM2) GMIN332 C / 73

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

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

NoSQL : hype ou innovation? Grégory Ogonowski / Recherches Octobre 2011

NoSQL : hype ou innovation? Grégory Ogonowski / Recherches Octobre 2011 NoSQL : hype ou innovation? Grégory Ogonowski / Recherches Octobre 2011 Sommaire Introduction Théorème CAP NoSQL (principes, mécanismes, démos,...) Ce que nous avons constaté Recommandations Conclusion

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

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

Un peu de culture : Bases N osql L 1

Un peu de culture : Bases N osql L 1 Un peu de culture : Bases NoSQL 1 Introduction Les bases de données NoSQL (no-sql ou Not Only SQL) sont un sujet tres à la mode en ce moment. Il y a une centaine de version de bases NOSQL But du cours

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

Les bases de données relationnelles

Les bases de données relationnelles Bases de données NO SQL et SIG : d un existant restreint à un avenir prometteur CHRISTIAN CAROLIN, AXES CONSEIL CAROLIN@AXES.FR - HTTP://WWW.AXES.FR Les bases de données relationnelles constituent désormais

Plus en détail

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

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

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 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

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

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

Présentation du module Base de données spatio-temporelles

Présentation du module Base de données spatio-temporelles Présentation du module Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Partie 1 : Notion de bases de données (12,5h ) Enjeux et principes

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

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

NoSQL. Etat de l art et benchmark

NoSQL. Etat de l art et benchmark NoSQL Etat de l art et benchmark Travail de Bachelor réalisé en vue de l obtention du Bachelor HES par : Adriano Girolamo PIAZZA Conseiller au travail de Bachelor : David BILLARD, Professeur HES Genève,

Plus en détail

Cassandra chez Chronopost pour traiter en temps réel 1,5 milliard d événements par an

Cassandra chez Chronopost pour traiter en temps réel 1,5 milliard d événements par an Cassandra chez Chronopost pour traiter en temps réel 1,5 milliard d événements par an Qui suis-je? Alexander DEJANOVSKI Ingénieur EAI Depuis 15 ans chez Chronopost @alexanderdeja Chronopost International

Plus en détail

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 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

Plus en détail

BIG DATA. Veille technologique. Malek Hamouda Nina Lachia Léo Valette. Commanditaire : Thomas Milon. Encadré: Philippe Vismara

BIG DATA. Veille technologique. Malek Hamouda Nina Lachia Léo Valette. Commanditaire : Thomas Milon. Encadré: Philippe Vismara BIG DATA Veille technologique Malek Hamouda Nina Lachia Léo Valette Commanditaire : Thomas Milon Encadré: Philippe Vismara 1 2 Introduction Historique des bases de données : méthodes de stockage et d analyse

Plus en détail

Bases de Données. Stella MARC-ZWECKER. stella@unistra.u-strasbg.fr. Maître de conférences Dpt. Informatique - UdS

Bases de Données. Stella MARC-ZWECKER. stella@unistra.u-strasbg.fr. Maître de conférences Dpt. Informatique - UdS Bases de Données Stella MARC-ZWECKER Maître de conférences Dpt. Informatique - UdS stella@unistra.u-strasbg.fr 1 Plan du cours 1. Introduction aux BD et aux SGBD Objectifs, fonctionnalités et évolutions

Plus en détail

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles) SGBDR Systèmes de Gestion de Bases de Données (Relationnelles) Plan Approches Les tâches du SGBD Les transactions Approche 1 Systèmes traditionnels basés sur des fichiers Application 1 Gestion clients

Plus en détail

Les participants repartiront de cette formation en ayant une vision claire de la stratégie et de l éventuelle mise en œuvre d un Big Data.

Les participants repartiront de cette formation en ayant une vision claire de la stratégie et de l éventuelle mise en œuvre d un Big Data. Big Data De la stratégie à la mise en oeuvre Description : La formation a pour objet de brosser sans concession le tableau du Big Data. Les participants repartiront de cette formation en ayant une vision

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

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013 NFA 008 Introduction à NoSQL et MongoDB 25/05/2013 1 NoSQL, c'est à dire? Les bases de données NoSQL restent des bases de données mais on met l'accent sur L'aspect NON-relationnel L'architecture distribuée

Plus en détail

Les bases de données

Les bases de données Les bases de données Introduction aux fonctions de tableur et logiciels ou langages spécialisés (MS-Access, Base, SQL ) Yves Roggeman Boulevard du Triomphe CP 212 B-1050 Bruxelles (Belgium) Idée intuitive

Plus en détail

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

Plus en détail

Cours Bases de données

Cours Bases de données Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles

Plus en détail

Document réalisé par Khadidjatou BAMBA

Document réalisé par Khadidjatou BAMBA Comprendre le BIG DATA Document réalisé par Khadidjatou BAMBA 1 Sommaire Avant propos. 3 Historique du Big Data.4 Introduction.....5 Chapitre I : Présentation du Big Data... 6 I. Généralités sur le Big

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

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/ Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/

Plus en détail

11/01/2014. Le Big Data Mining enjeux et approches techniques. Plan. Introduction. Introduction. Quelques exemples d applications

11/01/2014. Le Big Data Mining enjeux et approches techniques. Plan. Introduction. Introduction. Quelques exemples d applications Plan Le Big Data Mining enjeux et approches techniques Bernard Dousset Professeur des universités Institut de Recherche en Informatique de Toulouse UMR 5505 Université de Toulouse 118, Route de Narbonne,

Plus en détail

Bases de Données Avancées

Bases de Données Avancées 1/26 Bases de Données Avancées DataWareHouse Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin,

Plus en détail

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales Ecole des Hautes Etudes Commerciales HEC Alger Évolution des SGBDs par Amina GACEM Module Informatique 1ière Année Master Sciences Commerciales Evolution des SGBDs Pour toute remarque, question, commentaire

Plus en détail

Bases de données Cours 1 : Généralités sur les bases de données

Bases de données Cours 1 : Généralités sur les bases de données Cours 1 : Généralités sur les bases de données POLYTECH Université d Aix-Marseille odile.papini@univ-amu.fr http://odile.papini.perso.esil.univmed.fr/sources/bd.html Plan du cours 1 1 Qu est ce qu une

Plus en détail

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing Présentation d Oracle 10g Chapitre VII Présentation d ORACLE 10g 7.1 Nouvelles fonctionnalités 7.2 Architecture d Oracle 10g 7.3 Outils annexes 7.4 Conclusions 7.1 Nouvelles fonctionnalités Gestion des

Plus en détail

Bases de données cours 1

Bases de données cours 1 Bases de données cours 1 Introduction Catalin Dima Objectifs du cours Modèle relationnel et logique des bases de données. Langage SQL. Conception de bases de données. SQL et PHP. Cours essentiel pour votre

Plus en détail

Les technologies du Big Data

Les technologies du Big Data Les technologies du Big Data PRÉSENTÉ AU 40 E CONGRÈS DE L ASSOCIATION DES ÉCONOMISTES QUÉBÉCOIS PAR TOM LANDRY, CONSEILLER SENIOR LE 20 MAI 2015 WWW.CRIM.CA TECHNOLOGIES: DES DONNÉES JUSQU'À L UTILISATEUR

Plus en détail

Bases de Données relationnelles et leurs systèmes de Gestion

Bases de Données relationnelles et leurs systèmes de Gestion III.1- Définition de schémas Bases de Données relationnelles et leurs systèmes de Gestion RAPPELS Contraintes d intégrité sous Oracle Notion de vue Typage des attributs Contrainte d intégrité Intra-relation

Plus en détail

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition

Plus en détail

Optimisations des SGBDR. Étude de cas : MySQL

Optimisations des SGBDR. Étude de cas : MySQL Optimisations des SGBDR Étude de cas : MySQL Introduction Pourquoi optimiser son application? Introduction Pourquoi optimiser son application? 1. Gestion de gros volumes de données 2. Application critique

Plus en détail

Implémentation des SGBD

Implémentation des SGBD Implémentation des SGBD Structure générale des applications Application utilisateur accédant à des données d'une base Les programmes sous-jacents contiennent du code SQL Exécution : pendant l'exécution

Plus en détail

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 SQL Sommaire : COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 COMMANDES DE MANIPULATION DE DONNEES... 2 COMMANDES DE CONTROLE TRANSACTIONNEL... 2 COMMANDES DE REQUETE DE DONNEES... 2 COMMANDES

Plus en détail

Bases de Données Avancées

Bases de Données Avancées 1/62 Bases de Données Avancées Introduction & Rappel Conception et Modélisation Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR

Plus en détail

Quels choix de base de données pour vos projets Big Data?

Quels choix de base de données pour vos projets Big Data? Quels choix de base de données pour vos projets Big Data? Big Data? Le terme "big data" est très à la mode et naturellement un terme si générique est galvaudé. Beaucoup de promesses sont faites, et l'enthousiasme

Plus en détail

Bases de Données NoSQL

Bases de Données NoSQL Bases de Données NoSQL LI328 Technologies Web Mohamed-Amine Baazizi Transparents de Bernd Amann UPMC - LIP6 LI328 Technologies Web (B. Amann) 1 SGBD Universalité Systèmes «SQL» : Facilité d'utilisation

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

Change the game with smart innovation

Change the game with smart innovation Change the game with smart innovation Master Thesis 2013 2014 Faculty of Science engineering 12/08/2012 Master Thesis proposal for the academic year 2013. TABLE OF CONTENTS Section Un Introduction... 3

Plus en détail

Network Efficiency Monitoring - version 2

Network Efficiency Monitoring - version 2 École Polytechnique de l Université de Tours 64, Avenue Jean Portalis 37200 TOURS, FRANCE Tél. +33 (0)2 47 36 14 14 www.polytech.univ-tours.fr Département Informatique 5 e année 2012-2013 Projet de fin

Plus en détail

L AVENIR DU NoSQL. Quel avenir pour le NoSQL?

L AVENIR DU NoSQL. Quel avenir pour le NoSQL? L AVENIR DU NoSQL Quel avenir pour le NoSQL? Meyer Léonard 2014 1 L AVENIR DU NoSQL SOMMAIRE Introduction... 3 Histoire... 3 Pourquoi NoSQL?... 4 Le Sharding... 4 La Denormalization... 5 Le Distributed

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

20 ans du Master SIAD de Toulouse - BigData par l exemple - Julien DULOUT - 22 mars 2013. 20 ans du SIAD -"Big Data par l'exemple" -Julien DULOUT

20 ans du Master SIAD de Toulouse - BigData par l exemple - Julien DULOUT - 22 mars 2013. 20 ans du SIAD -Big Data par l'exemple -Julien DULOUT 20 ans du Master SIAD de Toulouse - BigData par l exemple - Julien DULOUT - 22 mars 2013 20 ans du SIAD -"BigData par l'exemple" -Julien DULOUT Qui a déjà entendu parler du phénomène BigData? Qui a déjà

Plus en détail

NoSQL : les meilleures

NoSQL : les meilleures Livre blanc NoSQL Page 2 PREAMBULE SMILE Smile est une société d ingénieurs experts dans la mise en œuvre de solutions open source et l intégration de systèmes appuyés sur l open source. Smile est membre

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

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

Big Data et Graphes : Quelques pistes de recherche

Big Data et Graphes : Quelques pistes de recherche Big Data et Graphes : Quelques pistes de recherche Hamamache Kheddouci Laboratoire d'informatique en Image et Systèmes d'information LIRIS UMR 5205 CNRS/INSA de Lyon/Université Claude Bernard Lyon 1/Université

Plus en détail

Module BDR Master d Informatique (SAR)

Module BDR Master d Informatique (SAR) Module BDR Master d Informatique (SAR) Cours 6- Bases de données réparties Anne Doucet Anne.Doucet@lip6.fr 1 Bases de Données Réparties Définition Conception Décomposition Fragmentation horizontale et

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

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

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Le langage SQL pour Oracle - partie 1 : SQL comme LDD Le langage SQL pour Oracle - partie 1 : SQL comme LDD 1 SQL : Introduction SQL : Structured Query Langage langage de gestion de bases de donn ees relationnelles pour Définir les données (LDD) interroger

Plus en détail

Big Data On Line Analytics

Big Data On Line Analytics Fdil Fadila Bentayeb Lb Laboratoire ERIC Lyon 2 Big Data On Line Analytics ASD 2014 Hammamet Tunisie 1 Sommaire Sommaire Informatique décisionnelle (BI Business Intelligence) Big Data Big Data analytics

Plus en détail

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

IFT3030 Base de données. Chapitre 2 Architecture d une base de données IFT3030 Base de données Chapitre 2 Architecture d une base de données Plan du cours Introduction Architecture Modèles de données Modèle relationnel Algèbre relationnelle SQL Conception Fonctions avancées

Plus en détail

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

Technologies du Web. Ludovic DENOYER - ludovic.denoyer@lip6.fr. Février 2014 UPMC

Technologies du Web. Ludovic DENOYER - ludovic.denoyer@lip6.fr. Février 2014 UPMC Technologies du Web Ludovic DENOYER - ludovic.denoyer@lip6.fr UPMC Février 2014 Ludovic DENOYER - ludovic.denoyer@lip6.fr Technologies du Web Plan Retour sur les BDs Le service Search Un peu plus sur les

Plus en détail

Structure fonctionnelle d un SGBD

Structure fonctionnelle d un SGBD Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert

Plus en détail

L élasticité des bases de données sur le cloud computing

L élasticité des bases de données sur le cloud computing Faculté de Sciences Département Informatique L élasticité des bases de données sur le cloud computing Nicolas Degroodt Directeur : Prof. Esteban Zimányi En collaboration avec Mémoire présenté en vue de

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

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

Introduction aux bases de données Cours 1 : Généralités sur les bases de données Cours 1 : Généralités sur les bases de données ESIL Université de la méditerranée Odile.Papini@esil.univmed.fr http://odile.papini.perso.esil.univmed.fr/sources/bdmat.html Plan du cours 1 1 Qu est ce qu

Plus en détail

Acquisition des données - Big Data. Dario VEGA Senior Sales Consultant

Acquisition des données - Big Data. Dario VEGA Senior Sales Consultant Acquisition des données - Big Data Dario VEGA Senior Sales Consultant The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated

Plus en détail

Le langage SQL (première partie) c Olivier Caron

Le langage SQL (première partie) c Olivier Caron Le langage SQL (première partie) 1 Plan Le S.G.B.D. postgres Le langage SQL Langage de manipulation de données Langage de requêtes 2 Quelques mots sur Postgres (1/2) Travaux de Stonebraker (Univ. Berkeley)

Plus en détail

Cours 8 Not Only SQL

Cours 8 Not Only SQL Cours 8 Not Only SQL Cours 8 - NoSQL Qu'est-ce que le NoSQL? Cours 8 - NoSQL Qu'est-ce que le NoSQL? Catégorie de SGBD s'affranchissant du modèle relationnel des SGBDR. Mouvance apparue par le biais des

Plus en détail

Systèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche

Systèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche Répartition, Parallèlisation, hétérogénéité dans les SGBD AI Mouaddib Département Informatique Université de Caen Systèmes d informations nouvelles générations! Constat :! Utilisation de nouveaux support

Plus en détail

Benjamin Cornu Florian Joyeux. Les choses à connaître pour (essayer) de concurrencer Facebook.

Benjamin Cornu Florian Joyeux. Les choses à connaître pour (essayer) de concurrencer Facebook. Benjamin Cornu Florian Joyeux Les choses à connaître pour (essayer) de concurrencer Facebook. 1 Sommaire Présentation générale Historique Facebook La face cachée de l iceberg (back end) Architecture globale

Plus en détail

CESI Bases de données

CESI Bases de données CESI Bases de données Introduction septembre 2006 Bertrand LIAUDET EPF - BASE DE DONNÉES - septembre 2005 - page 1 PRÉSENTATION GÉNÉRALE 1. Objectifs généraux L objectif de ce document est de faire comprendre

Plus en détail

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Contenu de ce cours : 1. Stockage de données. Supports, fonctionnement d un disque, technologie RAID 2. Organisation

Plus en détail

Les quatre piliers d une solution de gestion des Big Data

Les quatre piliers d une solution de gestion des Big Data White Paper Les quatre piliers d une solution de gestion des Big Data Table des Matières Introduction... 4 Big Data : un terme très vaste... 4 Le Big Data... 5 La technologie Big Data... 5 Le grand changement

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 Introduction du cours Auteurs : Raphaël Fournier-S niehotta, Philippe Rigaux, Nicolas Travers prénom.nom@cnam.fr Département d informatique Conservatoire

Plus en détail

A QUOI SERVENT LES BASES DE DONNÉES?

A QUOI SERVENT LES BASES DE DONNÉES? BASE DE DONNÉES OBJET Virginie Sans virginie.sans@irisa.fr A QUOI SERVENT LES BASES DE DONNÉES? Stockage des informations : sur un support informatique pendant une longue période de taille importante accès

Plus en détail

Jean-François Boulicaut & Mohand-Saïd Hacid

Jean-François Boulicaut & Mohand-Saïd Hacid e siècle! Jean-François Boulicaut & Mohand-Saïd Hacid http://liris.cnrs.fr/~jboulica http://liris.cnrs.fr/mohand-said.hacid Laboratoire d'informatique en Image et Systèmes d'information LIRIS UMR 5205

Plus en détail

Bases de Données. Plan

Bases de Données. Plan Université Mohammed V- Agdal Ecole Mohammadia d'ingénieurs Rabat Bases de Données Mr N.EL FADDOULI 2014-2015 Plan Généralités: Définition de Bases de Données Le modèle relationnel Algèbre relationnelle

Plus en détail

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer Bases de Données Réparties Définition Architectures Outils d interface SGBD Réplication SGBD répartis hétérogènes BD réparties Principe : BD locales, accès locaux rapides accès aux autres SGBD du réseau

Plus en détail

Le Langage De Description De Données(LDD)

Le Langage De Description De Données(LDD) Base de données Le Langage De Description De Données(LDD) Créer des tables Décrire les différents types de données utilisables pour les définitions de colonne Modifier la définition des tables Supprimer,

Plus en détail

Bases de données et sites WEB Licence d informatique LI345

Bases de données et sites WEB Licence d informatique LI345 Bases de données et sites WEB Licence d informatique LI345 Anne Doucet Anne.Doucet@lip6.fr http://www-bd.lip6.fr/ens/li345-2013/index.php/lescours 1 Contenu Transactions en pratique Modèle relationnel-objet

Plus en détail

Big Data : utilisation d un cluster Hadoop HDFS Map/Reduce HBase

Big Data : utilisation d un cluster Hadoop HDFS Map/Reduce HBase Big Data : utilisation d un cluster cluster Cécile Cavet cecile.cavet at apc.univ-paris7.fr Centre François Arago (FACe), Laboratoire APC, Université Paris Diderot LabEx UnivEarthS 14 Janvier 2014 C. Cavet

Plus en détail

Le "tout fichier" Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique

Le tout fichier Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique Introduction à l informatique : Information automatisée Le premier ordinateur Définition disque dure, mémoire, carte mémoire, carte mère etc Architecture d un ordinateur Les constructeurs leader du marché

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

Bases de données relationnelles

Bases de données relationnelles Bases de données relationnelles Système de Gestion de Bases de Données Une base de données est un ensemble de données mémorisé par un ordinateur, organisé selon un modèle et accessible à de nombreuses

Plus en détail

Big Graph Data Forum Teratec 2013

Big Graph Data Forum Teratec 2013 Big Graph Data Forum Teratec 2013 MFG Labs 35 rue de Châteaudun 75009 Paris, France www.mfglabs.com twitter: @mfg_labs Julien Laugel MFG Labs julien.laugel@mfglabs.com @roolio SOMMAIRE MFG Labs Contexte

Plus en détail

Bases de données. Chapitre 1. Introduction

Bases de données. Chapitre 1. Introduction Références : Bases de données Pierre Wolper Email : pw@montefiore.ulg.ac.be URL : http : //www.montefiore.ulg.ac.be/~pw/ http : //www.montefiore.ulg.ac.be/ ~pw/cours/bd.html Henry F. Korth, Abraham Silberschatz,

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 Introduction a MongoDB Auteurs : Raphaël Fournier-S niehotta, Philippe Rigaux, Nicolas Travers prénom.nom@cnam.fr Département d informatique Conservatoire

Plus en détail

Formation Cloudera Data Analyst Utiliser Pig, Hive et Impala avec Hadoop

Formation Cloudera Data Analyst Utiliser Pig, Hive et Impala avec Hadoop Passez au niveau supérieur en termes de connaissance grâce à la formation Data Analyst de Cloudera. Public Durée Objectifs Analystes de données, business analysts, développeurs et administrateurs qui ont

Plus en détail

Hadoop, les clés du succès

Hadoop, les clés du succès Hadoop, les clés du succès Didier Kirszenberg, Responsable des architectures Massive Data, HP France Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject

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

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions Exemple accessible via une interface Web Une base de données consultable en ligne : Bases de données et systèmes de gestion de bases de données The Trans-atlantic slave trade database: http://www.slavevoyages.org/tast/index.faces

Plus en détail

Cours: Administration d'une Base de Données

Cours: Administration d'une Base de Données Bases de Données Avancées Module A IUT Lumière, License CE-STAT 2006-2007 Pierre Parrend Cours: Administration d'une Base de Données Table of Contents Principes...1 Structure d'un Base de Données...1 Architecture...1

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

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

Architecture NoSQL et réponse au Théorème CAP

Architecture NoSQL et réponse au Théorème CAP Architecture NoSQL et réponse au Théorème CAP Travail de Bachelor réalisé en vue de l obtention du Bachelor HES en Informatique de Gestion par : Lionel HEINRICH Conseiller au travail de Bachelor : Christian

Plus en détail

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS Sauvegarde collaborative entre pairs 1 Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS Sauvegarde collaborative entre pairs 2 Introduction Pourquoi pair à pair? Utilisation de ressources

Plus en détail