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 Faculté des Sciences Université Montpellier I. Mougenot (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (UM2) GMIN332 C / 73

28 Introduction au NOSQL Positionnement des systèmes / CAP Figure: Synthèse CAP I. Mougenot (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (UM2) GMIN332 C / 73

Introduction aux bases de données NoSQL

Introduction aux bases de données NoSQL Introduction aux bases de données NoSQL Khaled Tannir ets@khaledtannir.net Montréal - 23 Juillet 2015 Qui suis-je? Khaled TANNIR Big Data Architect Lead 20 ans d expérience ets@khaledtannir.net @khaled_tannir

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

MIF18 - Les SGBD Non-Relationnels

MIF18 - Les SGBD Non-Relationnels MIF18 - Les SGBD Non-Relationnels Fabien Duchateau fabien.duchateau [at] univ-lyon1.fr Université Claude Bernard Lyon 1 2013-2014 Transparents disponibles sur http://liris.cnrs.fr/~ecoquery/dokuwiki/doku.php?id=

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

NoSQL Faut-il franchir le pas?

NoSQL Faut-il franchir le pas? NoSQL Faut-il franchir le pas? Guillaume HARRY Journées rbdd Octobre 2015 Sommaire 1. Evolution des bases de données 2. Le mouvement NoSQL 3. Les grandes familles du NoSQL 4. Aller ou non vers le NoSQL?

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

Département informatique de l IUT (de l université) de Bordeaux Cours de Bases de Données : NoSQL 19 août 2015 Olivier Guibert. NoSQL.

Département informatique de l IUT (de l université) de Bordeaux Cours de Bases de Données : NoSQL 19 août 2015 Olivier Guibert. NoSQL. Département informatique de l IUT (de l université) de Bordeaux Cours de Bases de Données : NoSQL 19 août 2015 Olivier Guibert NoSQL Not only non relational Plan Généralités SGBD Relationnel Théorème CAP

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

NoSql. Principes. Google (Map Reduce, Big Table) et Amazone (Dynamo) pour faire face à la monté en charge liée au BigData

NoSql. Principes. Google (Map Reduce, Big Table) et Amazone (Dynamo) pour faire face à la monté en charge liée au BigData NoSql Principes Google (Map Reduce, Big Table) et Amazone (Dynamo) pour faire face à la monté en charge liée au BigData Les SGBD NoSql partagés ne peuvent satisfaire que 2 critères au plus NoSql Les transactions

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

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

Datomic. La base qui détonne (aka database as a value)

Datomic. La base qui détonne (aka database as a value) Datomic La base qui détonne (aka database as a value) Identité Base de données NoSQL Distribuée ("cloud"!) ACID Annoncée début 2012 Version 0.8.XXXX Rich Hickey et Relevance (Clojure!) Licence privative

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

Mapping Objet/Relationnel

Mapping Objet/Relationnel Mapping Objet/Relationnel I. Mougenot (isabelle.mougenot@univ-montp2.fr) Faculté des Sciences Université Montpellier 2 2014 Mougenot (UM2) FMIN362 Cours2 2014 1 / 14 Les limites du relationnel 1 Première

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

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

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

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

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

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

NoSQL La fin du relationnel? Michael Bailly

NoSQL La fin du relationnel? Michael Bailly NoSQL La fin du relationnel? Michael Bailly RMLL 2011 Raison #1 RDBMS don't are hard to scale Mais aussi... Dénormalisation Mise en cache Moteurs d'indexation (Solr, Sphinx) Files d'attentes (Gearman,

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

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

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

République Algérienne Démocratique et Populaire. Université Abou Bakr Belkaid Tlemcen. Faculté des Sciences. Département d Informatique

République Algérienne Démocratique et Populaire. Université Abou Bakr Belkaid Tlemcen. Faculté des Sciences. Département d Informatique République Algérienne Démocratique et Populaire Université Abou Bakr Belkaid Tlemcen Faculté des Sciences Département d Informatique Mémoire de fin d études Pour l obtention du diplôme de Master en Informatique

Plus en détail

10/04/2011. Serveur de données. Serveur de données. Client. Programme d'application Logiciel intermédiaire Pilote de télécommunication.

10/04/2011. Serveur de données. Serveur de données. Client. Programme d'application Logiciel intermédiaire Pilote de télécommunication. 1 BD locale BD locale Programme d'application Logiciel intermédiaire Client SGBD réparti Logiciel intermédiaire données SGBD réparti Logiciel intermédiaire données 2 Bénéfices potentiels Performance Fiabilité

Plus en détail

Présentation du module. Base de données spatio-temporelles. Exemple. Introduction Exemple. Plan. Plan

Présentation du module. Base de données spatio-temporelles. Exemple. Introduction Exemple. Plan. Plan Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Partie 1 : Notion de bases de données (Conception

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

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

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

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

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

Généralités sur les bases de données

Généralités sur les bases de données Généralités sur les bases de données Qu est-ce donc qu une base de données? Que peut-on attendre d un système de gestion de bases de données? Que peut-on faire avec une base de données? 1 Des données?

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

NoSQL : en Quête de Performances Extrêmes

NoSQL : en Quête de Performances Extrêmes NoSQL : en Quête de Performances Extrêmes Alors que l audience du web croît sans cesse, les applications Internet à succès ont été confrontées aux mêmes problèmes de base de données : si les serveurs web

Plus en détail

Introduction aux S.G.B.D.

Introduction aux S.G.B.D. NFE113 Administration et configuration des bases de données - 2010 Introduction aux S.G.B.D. Eric Boniface Sommaire L origine La gestion de fichiers Les S.G.B.D. : définition, principes et architecture

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

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

Objectifs. Maîtriser. Pratiquer

Objectifs. Maîtriser. Pratiquer 1 Bases de Données Objectifs Maîtriser les concepts d un SGBD relationnel Les modèles de représentations de données Les modèles de représentations de données La conception d une base de données Pratiquer

Plus en détail

Examen Administration BD (Module FMIN363)

Examen Administration BD (Module FMIN363) Examen Administration BD (Module FMIN363) 1. Optimisation de requêtes (I. Mougenot) Un caviste veut gérer l ensemble des vins référencés au sein de sa cave. L information associée à la cave est volontairement

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

Concepts de base. Distribution des données. Fig.1. Matthieu Nantern, Consultant chez Xebia

Concepts de base. Distribution des données. Fig.1. Matthieu Nantern, Consultant chez Xebia Cassandra : partez sur une bonne base! Cassandra est une base NoSQL orientée colonne et créée à l'origine par Facebook en s appuyant sur deux papiers de recherche : BigTable de Google, DynamoDB d'amazon.

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

Rapport de projet : Interrogation de données hétérogènes.

Rapport de projet : Interrogation de données hétérogènes. Université Montpellier II Sciences et Techniques GMIN332 Gestion de Données Complexes, Master 2 Informatique 2013-2014 Rapport de projet : Interrogation de données hétérogènes. Otmane Nkaira Étudiant en

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

Gestion de données complexes

Gestion de données complexes Master 2 Informatique Spécialité AIGLE Gestion de données complexes Amayas ABBOUTE Gilles ENTRINGER SOMMAIRE Sommaire i 1 - Introduction 1 2 - Technologies utilisées 2 2.1 API Jena........................................

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

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

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

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

Les principaux domaines de l informatique

Les principaux domaines de l informatique Les principaux domaines de l informatique... abordés dans le cadre de ce cours: La Programmation Les Systèmes d Exploitation Les Systèmes d Information La Conception d Interfaces Le Calcul Scientifique

Plus en détail

Module FMIN358 Technologies du Web : PHP objet et couches d accès aux bases de données

Module FMIN358 Technologies du Web : PHP objet et couches d accès aux bases de données Module FMIN358 Technologies du Web : PHP objet et couches d accès aux bases de données 1. Exploiter une couche métier objet PHP prend en charge certains des grands principes du paradigme objet (héritage,

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

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

Introduction aux bases de données

Introduction aux bases de données 1/73 Introduction aux bases de données Formation continue Idir AIT SADOUNE idir.aitsadoune@supelec.fr École Supérieure d Électricité Département Informatique Gif sur Yvette 2012/2013 2/73 Plan 1 Introduction

Plus en détail

Plan. Pourquoi Hadoop? Présentation et Architecture. Démo. Usages

Plan. Pourquoi Hadoop? Présentation et Architecture. Démo. Usages 1 Mehdi LOUIZI Plan Pourquoi Hadoop? Présentation et Architecture Démo Usages 2 Pourquoi Hadoop? Limites du Big Data Les entreprises n analysent que 12% des données qu elles possèdent (Enquête Forrester

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

PostgreSQL 9.x: une nouvelle ère!

PostgreSQL 9.x: une nouvelle ère! PostgreSQL 9.x: une nouvelle ère! Jean-Paul Argudo Dalibo L Expertise PostgreSQL Paris, France http://www.solutionslinux.fr/ Agenda 1 À propos 2 PostgreSQL et NoSQL hstore JSON PL/v8 3 Avant PostgreSQL

Plus en détail

bases Modélisation de données des Modélisation des bases de données UML et les modèles entité-association

bases Modélisation de données des Modélisation des bases de données UML et les modèles entité-association Christian Soutou Christian Soutou Maître de conférences rattaché au département Réseaux et Télécoms de l IUT de Blagnac, Christian Soutou intervient en licence et master professionnels. Il est aussi consultant

Plus en détail

Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base)

Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base) Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base) 1. Généralités sur l'information et sur sa Représentation 1.1 Informations et données : a. Au sen de la vie : C

Plus en détail

Web et bases de données : un mariage nécessaire pour faire face aux défis des données massives

Web et bases de données : un mariage nécessaire pour faire face aux défis des données massives Web et bases de données : un mariage nécessaire pour faire face aux défis des données massives Module 6 : Changement d échelle et cohérence Les bases de données relationnelles sont mûres : elles ont bientôt

Plus en détail

Les activités de recherche sont associées à des voies technologiques et à des opportunités concrètes sur le court, moyen et long terme.

Les activités de recherche sont associées à des voies technologiques et à des opportunités concrètes sur le court, moyen et long terme. Mémoires 2010-2011 www.euranova.eu EURANOVA R&D Euranova est une société Belge constituée depuis le 1er Septembre 2008. Sa vision est simple : «Être un incubateur technologique focalisé sur l utilisation

Plus en détail

FONCTIONS DE TRAITEMENT} COUNT

FONCTIONS DE TRAITEMENT} COUNT Nom Prénom Promotion Date Buhl Damien Année 1 Groupe 2 21 Janvier 2007 CER Prosit n 22 Mots-Clés : - Requête/Langage SQL Le langage SQL (Structured Query Language) est un langage de requêtes, il permet

Plus en détail

SGBD orientés objet. Généralités Modèles de données et SGBD orientés objet 03/03/2015. Définitions. Concepts Généraux

SGBD orientés objet. Généralités Modèles de données et SGBD orientés objet 03/03/2015. Définitions. Concepts Généraux SGBD orientés objet Définitions Généralités Modèles de données et SGBD orientés objet MDOO : Un modèle de données qui capture la sémantique des objets supportée en programmation objet. Concepts Généraux

Plus en détail

Sujet du stage Mise en place et paramétrage d un moteur spécialisé pour la recherche de CV à travers le web

Sujet du stage Mise en place et paramétrage d un moteur spécialisé pour la recherche de CV à travers le web Sujet du stage Mise en place et paramétrage d un moteur spécialisé pour la recherche de CV à travers le web Responsable du stage : Nabil Belcaid Le Guyader Chef de projet : Ali Belcaid Déroulement du stage

Plus en détail

Cloud computing 2012-13

Cloud computing 2012-13 Cloud computing 2012-13 laurent@wargon.org 1/54 Architectures pour le Cloud 2/54 Architectures pour le Cloud Introduction Les traitements Les stockages de données Les caches Des exemples 3/54 Introduction

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

Introduction aux bases de données relationnelles

Introduction aux bases de données relationnelles Formation «Gestion des données scientifiques : stockage et consultation en utilisant des ases de données» 24 au 27 /06/08 Introduction aux ases de données relationnelles Christine Tranchant-Dureuil UMR

Plus en détail

L informatique des entrepôts de données

L informatique des entrepôts de données L informatique des entrepôts de données Daniel Lemire SEMAINE 14 NoSQL 14.1. Présentation de la semaine On construit souvent les entrepôts de données en utilisant des systèmes de bases de données relationnels

Plus en détail

Un peu d histoire. Qu est-ce que MongoDB?

Un peu d histoire. Qu est-ce que MongoDB? Un peu d histoire Initialement développé par 10gen en 2007 10gen rebaptisé en 2013 MongoDB, Inc. Son nom vient de "humongous" (c est énorme!!) Mis en open source en 2009 Dernière version stable (3.0.2)

Plus en détail

Les bases NoSQL et Python. Youenn Boussard

Les bases NoSQL et Python. Youenn Boussard Les bases NoSQL et Python Youenn Boussard Les bases de données Avant 1960 : organisation classique sous forme de fichier 1960 : 1er base de donnée : militaire, hiérarchique, sous forme d'arbre 1970 : Théorie

Plus en détail

Bases de données et sites WEB Cours 2 : SQL3 Modèle

Bases de données et sites WEB Cours 2 : SQL3 Modèle Bases de données et sites WEB Cours 2 : SQL3 Modèle 1 Plan Insuffisances du modèle relationnel Concepts objet Modèle Objet-relationnel et SQL3 2 Insuffisances du modèle relationnel Opérations séparées

Plus en détail

Bases de Données Avancées

Bases de Données Avancées /62 Bases de Données Avancées Introduction & Rappel Conception et Modélisation Thierry Hamon Bureau H202 Institut Galilée - Université Paris 13 & LIMSI-CNRS hamon@limsi.fr http://perso.limsi.fr/hamon/teaching/bda-20132014/

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

Base de données. Objectifs du cours 2014-05-20 COURS 01 INTRODUCTION AUX BASES DE DONNÉES

Base de données. Objectifs du cours 2014-05-20 COURS 01 INTRODUCTION AUX BASES DE DONNÉES 1 Base de données COURS 01 INTRODUCTION AUX BASES DE DONNÉES Objectifs du cours 2 Introduction aux bases de données relationnelles (BDR). Trois volets seront couverts : la modélisation; le langage d exploitation;

Plus en détail

2 ème PARTIE : LE LANGAGE SQL

2 ème PARTIE : LE LANGAGE SQL 2 ème PARTIE : LE LANGAGE SQL PLAN : I. Le langage de manipulation des données II. Le langage de définition des données III. Administration de la base de données IV. Divers (HORS PROGRAMME) Introduction:

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 Réparties Examen du 15 mai 2007

Bases de Données Réparties Examen du 15 mai 2007 Nom : Prénom : page 1 Université Pierre et Marie Curie - Paris 6 - UFR 922 - Master d'informatique (SAR) Bases de Données Réparties Examen du 15 mai 2007 Elements de correction Les documents ne sont pas

Plus en détail

Chapitre 1. Introduction aux Bases de Données. Cours de Bases de Données. Polytech Paris-Sud. Chapitre 1 : Quelques questions

Chapitre 1. Introduction aux Bases de Données. Cours de Bases de Données. Polytech Paris-Sud. Chapitre 1 : Quelques questions Cours de Bases de Données Chapitre 1 Polytech Paris-Sud Sarah Cohen-Boulakia LRI, Bât 490, Université Paris-Sud 11, Orsay cohen @ lri. fr 01 69 15 32 16 Introduction aux Bases de Données 1 2 Chapitre 1

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

CHAPITRE 1 ARCHITECTURE BASES DE DONNÉES AVANCÉES 2014-2015 20/10/2014. Université des sciences et de la Technologie Houari Boumediene USTHB Alger

CHAPITRE 1 ARCHITECTURE BASES DE DONNÉES AVANCÉES 2014-2015 20/10/2014. Université des sciences et de la Technologie Houari Boumediene USTHB Alger Université des sciences et de la Technologie Houari Boumediene USTHB Alger Département d Informatique BASES DE DONNÉES AVANCÉES 2014-2015 RESPONSABLES M. KAMEL BOUKHALFA (SII CHAPITRE 1 ARCHITECTURE 1

Plus en détail

Bases de données réparties

Bases de données réparties Bases de données réparties J. Akoka - I. Wattiau 1 Contexte Technologique : des solutions de communication efficace entre les machines des SGBD assurent la transparence des données réparties standardisation

Plus en détail

Bases de données Cours 2 : Architecture pour les bases de données

Bases de données Cours 2 : Architecture pour les bases de données Cours 2 : Architecture pour les bases de données ESIL Université de la méditerranée Odile.Papini@esil.univ-mrs.fr http://odile.papini.perso.esil.univmed.fr Plan du cours Architecture SPARC-ANSI 1 Architecture

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

1.1/Architecture des SGBD Les architectures physiques de SGBD sont très liées au mode de répartition.

1.1/Architecture des SGBD Les architectures physiques de SGBD sont très liées au mode de répartition. LP Informatique(DA2I), F7 : Administration Système, Réseaux et Base de données 15/11/2007, Enseignant : M. Nakechbnadi, mail : nakech@free.fr Première parie : Administration d une BD Chapitre 1 : Architecture

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

Cloud computing 2014-15

Cloud computing 2014-15 Cloud computing 2014-15 laurent@wargon.org 1/74 Architectures pour le Cloud 2/74 Architectures pour le Cloud Introduction Les traitements Les stockages de données Les caches Des exemples 3/74 Introduction

Plus en détail

Introduction aux Bases de Données Relationnelles. Introduction aux Bases de Données Relationnelles Introduction- 1. Qu est-ce qu une base de données?

Introduction aux Bases de Données Relationnelles. Introduction aux Bases de Données Relationnelles Introduction- 1. Qu est-ce qu une base de données? Qu est-ce qu une base de données? Utilisez-vous des bases de données? Introduction aux Bases de Données Relationnelles explicitement? implicitement? Qui n utilise jamais de base de données? Département

Plus en détail

Optimisation. Bases de Données. Année 2007-08

Optimisation. Bases de Données. Année 2007-08 Optimisation Bases de Données Année 2007-08 Les index Les index sont utilisés pour accélérer l accès aux données. fonction de hachage qui permet de retrouver rapidement un ou des enregistrements les clés

Plus en détail

La refondation de l informatique Des opportunités pour les entreprises

La refondation de l informatique Des opportunités pour les entreprises La refondation de l informatique Des opportunités pour les entreprises DENIS ATTAL VP TECHNICAL, CRITICAL INFORMATION SYSTEMS AND CYBER-SECURITY www.thalesgroup.com QUESTION Quelle est la discipline dans

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

Drupal et le NoSQL. Frédéric G. MARAND http://drupal.org/user/27985. OSInet http://drupal.org/node/1121720

Drupal et le NoSQL. Frédéric G. MARAND http://drupal.org/user/27985. OSInet http://drupal.org/node/1121720 Drupal et le NoSQL Frédéric G. MARAND http://drupal.org/user/27985 OSInet http://drupal.org/node/1121720 "Drupal et le NoSQL" de Frédéric G. MARAND est mis à disposition selon les termes de la licence

Plus en détail

Faculté de Sciences Économiques et de Gestion. Bases de données. Maîtrise de Sciences Économiques Année 2001-2002 Jérôme Darmont

Faculté de Sciences Économiques et de Gestion. Bases de données. Maîtrise de Sciences Économiques Année 2001-2002 Jérôme Darmont Faculté de Sciences Économiques et de Gestion Bases de données Maîtrise de Sciences Économiques Année 2001-2002 Jérôme Darmont http://eric.univ-lyon2.fr/~jdarmont/ Plan du cours I. Introduction II. Le

Plus en détail

Comparaison de tables à distance

Comparaison de tables à distance Rapport de recherche A/375/CRI Fabien Coelho fabien@coelho.net composé avec LAT E X, révision 463 du document 1 Fabien Coelho job enseignant-chercheur à MINES ParisTech ingénieur civil 1993, docteur en

Plus en détail

KARMA Le système de Revenue Management d'air France KLM avec Hadoop

KARMA Le système de Revenue Management d'air France KLM avec Hadoop KARMA Le système de Revenue Management d'air France KLM avec Hadoop Conférence BIG DATA - Master MBDS Université de Nice Sophia Antipolis 16 Décembre 2014 Martial AYAS maayas@airfrance.fr 2 Agenda 1. Présentation

Plus en détail

Web dynamique. Techniques, outils, applications. (Partie C)

Web dynamique. Techniques, outils, applications. (Partie C) Web dynamique Techniques, outils, applications (Partie C) Nadir Boussoukaia - 2006 1 SOMMAIRE 1. MySQL et PHP (20 min) 2. SQL (petits rappels) (20 min) 2 MySQL et PHP Synthèse 3 MySQL et PHP SGBD MySQL

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