Introduction aux systèmes NoSQL (Not Only SQL)

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

Download "Introduction aux systèmes NoSQL (Not Only SQL)"

Transcription

1 Introduction aux systèmes NoSQL (Not Only SQL) Bernard ESPINASSE Professeur à Aix-Marseille Université (AMU) Ecole Polytechnique Universitaire de Marseille Avril De nouveaux besoins en gestion de données 2. Introduction aux systèmes NoSQL 3. Modèle «Clés-Valeurs» 4. Modèle «Colonnes» 5. Modèle «Documents» 6. Modèle «Graphes» 1. De nouveaux besoin en gestion de données Nouveaux besoins en gestion de données Limites des SGBD Relationnels-transactionnels Le théorème de Brewer ou de CAP Le grand paysage des bases de données 2. Introduction aux systèmes NoSQL Les grands principes des systèmes NoSQL Typologie des systèmes NoSQL Quelques systèmes NoSQL Introduction au NoSQL Fondements des systèmes NoSQL : Sharding, Consistent hashing, MapReduce, MVCC, Vector-clock» Typologie des BD NoSQL 3. Modèle NoSQL «Clé-Valeur» 4. Modèle NoSQL «Colonne» 5. Modèle NoSQL «Document» 6. Modèle NoSQL «Graphe» Bernard ESPINASSE - Introduction aux systèmes NoSQL 1 Bernard ESPINASSE - Introduction aux systèmes NoSQL 2 Documents : C. Strauch, «Nosql databases», Lecture Notes, Stuttgart Media University, A. Foucret, «Livre blanc sur NoSQL», par Smile (http://www.smile.fr/livresblancs/culture-du-web/nosql). S-K. Gajendran, «A Survey on NoSQL Databases». S. Abiteboul, I. Manolescu, P. Rigaux, M-C Rousset, P. Senellart, «Web Data Management», Cambridge University Press 2011 (en ligne, la 3ème partie : J. Dean and S. Ghemawat, «MapReduce: Simplified Data Processing on Large Clusters», OSDI 2004 Présentations : P. Selmer, «NOSQL stores and Data analytics tools», Advances in Data Management, A.-C. Caron, «NoSQL», Université de Lille 1. M. Jaffré, P. Rauzy, «MapReduce», ENS, K. Tannir, «MapReduce : Algorithme de parallélisations des traitements», 2011, Nouveaux besoins en gestion de données Limites des SGBD Relationnels-transactionnels Le théorème de Brewer ou de CAP Le grand paysage des bases de données Bernard ESPINASSE - Introduction aux systèmes NoSQL 3 Bernard ESPINASSE - Introduction aux systèmes NoSQL 4

2 NoSQL Contexte Recherche sur le web 5/22 NoSQL Contexte Système distribué 6/22 Inverted File - structure Constat : essor des très grandes plateformes et applications Web (Google, Facebook, Twitter, LinkedIn, Amazon, ) volume considérable de données à gérer par ces applications nécessitant une distribution des données et leur traitement sur de nombreux serveurs ces données sont souvent associées à des dʼobjets complexes et hétérogènes => Limites des SGBD traditionnels (relationnels et transactionnels) basés sur SQL Dʼoù nouvelles approches de stockage et de gestion des données : permettant une meilleure scalabilité dans des contextes fortement distribués permettant une gestion dʼobjets complexes et hétérogènes sans avoir à déclarer onau connaît préalable le nombre lʼensemble de documents des champs n i associés représentant à un terme un objet t i. regroupées on donne derrière un poids le terme w k NoSQL à chaque(proposé document par d k Carl associé Strozzi), au terme ne se t i.le substituant poids pas traduit aux SGBD la pertinence Relationnels du document mais les pour complètant ce terme. en comblant leurs faiblesses (Not Only SQL) Système distribué Utilisent des LANs (Local Area Networks) avec 3 niveaux de communication Système distribué : = système logiciel qui permet de coordonner plusieurs ordinateurs. Généralement, cette coordination se fait par! Les envoi serveurs de messages sont via regroupés un réseauen auquel «Racks sont reliés» : liaison ces ordinateurs. réseau rapide, environ 1Go/sec Pourquoi? parce qu on manipule un très grand volume de données.! un Sans «Data distribution, center on» consiste n a pas d application en un grand scalable. nombre de «racks», interconnectés On peut imaginer par 2des scenarii routeurs de traitement (switches) des données : liaison : à 100 Mo/sec 1. On dispose d un grand ensemble de données, et on doit leur! entre différents appliquer des «traitements Data centers disponibles» : communication sur des sites distincts. internet Il faut à 2-3 Mo/sec donc envoyer les données aux endroits appropriés, et enchaîner les exécutions distantes. C est un scénario de type Workflow, que l on Les serveurs peut communiquent implémenter avec par des envoi web services. de messages, Traitements ils ne distribués. partagent pas 2. Les données sont distribuées sur un certain nombre de serveurs, et on de disque ni de ressource de traitement = architecture «shared pousse les programmes vers ces serveurs. Il est en effet plus nothing» efficace de transférer un petit programme sur le réseau plutôt qu un grand volume de données. Données distribuées. On verra aujourd hui l algorithme MapReduce qui utilise cette approche. Bernard ESPINASSE - Introduction aux systèmes NoSQL 5 Bernard ESPINASSE - Introduction aux systèmes NoSQL 6 NoSQL Contexte Système distribué 7/22 NoSQL Contexte Système distribué 8/22 Exemple : Data Centers de Google Ex. : Data center de Google (début 2010) : Utilise des LANs (Local Area Networks). On distingue 3 niveaux de! Un «communication Data center»: Google contient entre 100 et 200 «Racks», chacun contenant 1. Les 40 serveurs sont regroupés en racks. Liaison réseau rapide, environ 1Go/sec.! environ Un data serveurs center consiste par «Data-center un grand nombre» pour de un racks, total interconnectés de 1 millions de serveurs par des (estimation routeurs (switches). dʼaprès la Liaison consommation à 100 Mo/sec. électrique). 3. Entre diffé r e n t s d a t a c e n t e r s, i l y a a u s s i u n e p o s s i b i l i t é d e communication mais par liaison assez lente (internet Mo/sec) Les serveurs communiquent par envoi de messages, Ils ne partagent Ex. : Data center de Facebook (2010) : pas de disque ni de ressource de traitement.! 2500 = cpu architecture (serveurs) shared nothing. Début 2010 : 1 data center Google contient entre 100 et 200 racks,! 1 PetaByte chacun contenant dʼespace 40 disque serveurs. (= milleterabytes Environ 5000 serveurs = 1 million par de data-center Gigabytes)! Plus pour de 250 un total Gigabytes de 1 millions données de serveurs compressées (estimation (plus d après de 2 Terabytes la non consommation compressés) électrique). Schéma : LAN/data center Rack1 Rack2 Rack3 Bernard ESPINASSE - Introduction aux systèmes NoSQL 7 Bernard ESPINASSE - Introduction aux systèmes NoSQL 8

3 système logiciel permettant de coordonner plusieurs ordinateurs ordinateurs reliés par un réseau local (LAN) communiquant généralement par envoi de messages utilisant une architecture distribuée :! fonctionnant sur du matériel peu spécialisé! matériel facilement remplaçable en cas de panne Application particulière : la distribution de données sur plusieurs serveurs organisés en «data centers» :! gestion de volumes de données très importants! assurer une continuité de service en cas d'indisponibilité de service sur un serveur On dispose d'un très grand ensemble de données sur lesquelles on doit leur appliquer des traitements. 2 stratégies : Par distribution des traitements (scaling des traitements) :! on distribue ces traitements sur un nombre de machines important afin dʼabsorber des charges très importantes! on envoie les données aux endroits appropriés, et on enchaîne les exécutions distantes (scénario type Workflow implémentable avec des web services) Par distribution des données (scaling des données) :! on distribue les données sur un nombre important de serveurs afin de stocker de très grands volumes de données! on «pousse» les programmes vers ces serveurs (plus efficace de transférer un petit programme sur le réseau plutôt qu'un grand volume de données Ex : algorithme MapReduce). Bernard ESPINASSE - Introduction aux systèmes NoSQL 9 Bernard ESPINASSE - Introduction aux systèmes NoSQL 10!"#$%&&'()#%*+#*%,-)... SGBD Relationnels offrent : un système de jointure entre les tables permettant de construire des requêtes complexes impliquant plusieurs entités un système dʼintégrité référentielle permettant de sʼassurer que les liens entre les entités sont valides Contexte fortement distribué : Ces mécanismes ont un coût considérable : avec la plupart des SGBD relationnels, les données dʼune BD liées entre elles sont placées sur le même nœud du serveur si le nombre de liens important, il est de plus en plus difficile de placer les données sur des nœuds différents.. Bernard ESPINASSE - Introduction aux systèmes NoSQL 11 / Bernard ESPINASSE - Introduction aux systèmes NoSQL 12

4 !"#$%&&'()#%*+#*%,-)#./0*1233 SGBD Relationnels sont généralement transactionnels : => gestion de transactions respectant les contraintes ACID (Atomicity, Consistency, Isolation, Durability). Contexte fortement distribué : Cette gestion a un coût considérable : nécessaire de distribuer les traitements de données entre différents serveurs alors difficile de maintenir les contraintes ACID à lʼéchelle du système distribué entier tout en maintenant des performances correctes => la plupart des SGBD «NoSQL» relâchent les contraintes ACID, ou même ne proposent pas de gestion de transactions. 45 Bernard ESPINASSE - Introduction aux systèmes NoSQL 13!"#$%&'($#)*+,)-../".$%")0$%$)1'2"# Bernard ESPINASSE - Introduction aux systèmes NoSQL 14 Modèle relationnel : les données sont divisées en ligne (tuples rows) avec des colonnes (columns) prédéfinies (attributs) il nʼy a pas de tuples emboîtés il nʼy a pas de liste de valeurs Modèle agrégat : une collection dʼobjets reliés qui doivent être traités ensemble. Bernard ESPINASSE - Introduction aux systèmes NoSQL 15 Bernard ESPINASSE - Introduction aux systèmes NoSQL 16 34

5 %118):%&)6*,1#6"#%44$#9,E5,?6B>#$,:%1&B#)*",%,/:#$$*5B8 65,)*56#4%&)6*,%*+,/&6#)*",)&,)*,%, #$8%&)6*%8,+%&%.%/$C,?6B,0%A$,&6,+$:6416/$,&0%&,)*56#4%&)6*,)*&6,#67/,.$56#$,/&6#)*",)&,%7%?9,!*, %""#$"%&$,4%;$/,56#,%,4B:0,/)418$#,4%11)*",' 70):0,)/,70?,4%*?,$%#8?,%+61&$#/,65,F6GHI +%&%.%/$/,#$16#&,&0%&,)&>/,%*,$%/)$#,1#6"#%44)*",46+$89J (Martin Fowler, Aggregate Oriented Database, 19 January 2012) Théorème de CAP (Brewer, 2000) : 3 propriétés fondamentales pour les systèmes distribués :!"#$%&!"!#$%!&$'##$()$%! %*#(+'*,%!#'()*+#,-.(/ 9." /:(5+/" %8'" 8(../3'5;" 32/".(-(+8+($2" %.35" +*<$'(=3/" >" 4/" =3/" %/3?/2+" 7/" 7$22</5" '/.8+($22/../5" =3(" /5+" 7<4'(+/" %8'"./" +*<$'A-/" 7/" #BC" D'$25(5+/24&E +$./'824/FG" #/.3(E4(" <2$24/" +'$(5" )'827/5" %'$%'(<+<5" %$3'"./5" 5&5+A-/5" #"4$--/"!"#$%$&'$"$3"#$*<'/24/"H"+$35"./5"2I375"73"5&5+A-/"?$(/2+"/:84+/-/2+"./5"-J-/5"7$22</5"83"-J-/"-$-/2+"! B" 4$--/" ()*+,*-+,+./" 53'?(?82+5"7/"4$2+(23/'">"M$24+($22/'"4$''/4+/-/2+"! C"4$--/"0*%.+.+"&1.",$%*&'$"$3"N<5(5+824/"83"%8'+(+($22/-/2+"H"83432/"%822/"-$(25" (-%$'+82+/" =3L32/" 4$3%3'/" +$+8./" 73" '<5/83" 2/" 7$(+" /-%J4*/'"./" 5&5+A-/" 7/" Bernard ESPINASSE - Introduction aux '<%$27'/"4$''/4+/-/2+"D$3"/24$'/"H"/2"485"7/"-$'4/../-/2+"/2"5$35E'<5/83:;"4*8432" systèmes NoSQL 17 7$(+"%$3?$('"M$24+($22/'"7/"-82(A'/"83+$2$-/F"!"#$%&& C oherence ou Consistance : tous les nœuds du système voient exactement les mêmes données au même moment A vailability ou Disponibilité : la perte de nœuds n'empêche pas les survivants de continuer à fonctionner correctement, les données restent accessibles P artition tolerance ou Résistance au partitionnement : le système étant partitionné, aucune panne moins importante qu'une coupure totale du réseau ne doit lʼempêcher de répondre correctement (en cas de partitionnement en sous réseaux, chacun doit pouvoir fonctionner de manière autonome) Dans un système distribué, il est impossible dʼobtenir ces 3 propriétés en KL même temps, il faut en choisir 2 parmi les 3 Bernard ESPINASSE - Introduction aux systèmes NoSQL 18 SGBDR NoSQL NoSQL Les SGBDR assurent les propriétés de Consistance et de Disponibilité (Availability) => système AC Les SGBD!"#$%&'()*+",-(./"0"1%/2",$3'4/",$.3+($25"0"6$3+/"'/%'$734+($2"(2+/'7(+/"5825"83+$'(58+($2" «NoSQL» sont des systèmes CP (Cohérent et Résistant au partitionnement) ou AP (Disponible et Résistant au partitionnement). Consistance (Coherence) : Un système S est dit consistant si on peut garantir qu'une fois quʼon y enregistre un état (disons "x = y"), il donnera le même état à chaque opération suivante, jusqu'à ce que cet état soit explicitement changé par quelque chose en dehors de S! Ex1: Une instance de la BD est automatiquement pleinement consistante puisqu'il n'y a qu'un seul noeud qui maintient l'état.! Ex2 : Si 2 serveurs de BD sont impliqués, et si le système est conçu de telle sorte que toutes les clés de "a" à "m" sont conservées sur le serveur 1, et les clés "n" à "z" sont conservées sur le serveur 2, alors le système peut encore facilement garantir la cohérence! Ex3 : Supposons 2 BD avec des répliques. Si une des BD fait une opération dʼinsertion de ligne, cette opération doit être aussi faite (commited) dans la seconde BD avant que l'opération soit considérée comme complète. Pour avoir une cohérence de 100% dans un tel environnement répliqué, les nœuds doivent communiquer Plus le nb de répliques est grand plus les performances d'un tel système sont mauvaises. Bernard ESPINASSE - Introduction aux systèmes NoSQL 19 Bernard ESPINASSE - Introduction aux systèmes NoSQL 20

6 Disponibilité (Availability): Les BD dans Ex1 ou Ex2 ne sont pas fortement disponibles dans Ex1 : si le nœud tombe en panne, on perd 100% des données dans Ex2 : si le nœud tombe en panne, on perd 50% des données dans Ex3 : une simple réplication de la BD sur un autre serveur assure une disponibilité de 100%. augmenter le nb de nœuds avec des copies des données (répliques) augmente directement la disponibilité du système, en le protégeant contre les défaillances matérielles les répliques aussi aider à équilibrer la charge dʼopérations concurrences, notamment en lecture. Résistance au partitionnement (Partition-tolerance): Supposons que soit assuré par réplication «consistance» et «disponibilité». Dans le cas Ex3, supposons 2 serveurs de BD dans 2 Data-Centers différents, et que lʼon perde la connexion réseau entre les 2 Data-Centers, faisant que les 2 BD sont incapables de synchroniser leurs états. Si vous parvenez à gérer les opérations de lecture/écriture sur ces 2 BD, il peut être prouvé que les 2 serveurs ne seront plus consistants. une application bancaire gardant à tout moment «l'état de votre compte» est lʼexemple parfait du problème des enregistrements inconsistants :! Si un client retire 1000 euros à Marseille, cela doit être immédiatement répercuté à Paris, afin que le système sache exactement combien il peut retirer à tout moment! Si le système ne parvient pas à le faire, cela pourrait mécontenter de nombreux clients Si les banques décident que la «consistance» est très importante, et désactivent les opérations d'écriture lors de la panne, alors la «disponibilité» du cluster sera perdu puisque tous les comptes bancaires dans les 2 villes seront désormais gelés jusqu'à ce que le réseau soit de nouveau opérationnel. Bernard ESPINASSE - Introduction aux systèmes NoSQL 21 Bernard ESPINASSE - Introduction aux systèmes NoSQL 22 Report «NoSQL, NewSQL and Beyond: The answer to SPRAINed relational databases», 451 Group, April 15th, 2011 : Report «NoSQL, NewSQL and Beyond: The answer to SPRAINed relational databases», 451 Group, April 15th, 2011 : Face aux faiblesses des SGBDR en termes de performance, d'évolutivité et de flexibilité des besoins de traitement à grande échelle des données, alternatives suivantes avec des architectures distribuées :! NoSQL BD : BD avec schéma dynamique ou sans schéma, BD magasins de clés-valeur, BD de documents et de données graphiques,! NewSQL DB : amélioration des performances grâce à de nouveaux moteurs de stockage, des technologies transparentes de fragmentation, de nouveaux logiciels et matériels : des BD radicalement nouvelles! Data grid/cache products : amélioration des performances des applications et de la BD par stockage des données en mémoire : données persistante en cache, réplication et des données distribuées, et calcul exploitant le grid, Bernard ESPINASSE - Introduction aux systèmes NoSQL 23 Bernard ESPINASSE - Introduction aux systèmes NoSQL 24

7 SPRAIN : acronyme qui désigne les 6 facteurs clés de l'adoption de technologies de gestion de données alternatives aux traditionnelles BDR ces BD alternatives doivent permettre de traiter de très grands volumes de données, supporter des applications hautement distribuées ou très complexes Ces 6 facteurs clés sont :! Scalability (évolutivité) hardware economics (économie de matériel)! Performance BDR limitations! Relaxed consistency CAP theorem (cohérence relachée)! Agility polyglot persistence (agilité, persistance polyglotte)! Intricacy (intrication) big data, total data! Necessity (nécessité) open source Introduction au NoSQL Fondements des syst. NoSQL : Sharding Fondements des syst. NoSQL : Consistent hashing Fondements des syst. NoSQL : MapReduce Fondements des syst. NoSQL : MVCC Fondements des syst. NoSQL : Vector-clock Typologie des BD NoSQL Bernard ESPINASSE - Introduction aux systèmes NoSQL 25 Bernard ESPINASSE - Introduction aux systèmes NoSQL 26 Les BD NoSQL : Adoptent une représentation de données non relationnelle ne remplacent pas les BD relationnelles mais sont une alternative, un complément apportant des solutions plus intéressantes dans certains contextes apportent une plus grande performance dans le contexte des applications Web avec des volumétries de données exponentielle utilisent une très forte distribution de ces données et des traitements associés sur de nombreux serveurs font un compromis sur le caractère «ACID» des SGBDR pour plus de scalabilité horizontale et dʼévolutivité. Lʼadoption croissante des bases NoSQL par des grands acteurs du Web (Google, facebook, ) => multiplication des offres de systèmes NoSQL pas de schéma pour les données ou schéma dynamique données de structures complexes ou imbriquées données distribuées : partitionnement horizontal des données sur plusieurs nœuds (serveurs) généralement par utilisation dʼalgorithmes «MapReduce» réplication des données sur plusieurs noeuds privilégient la Disponibilité à la Cohérence (théorème de CAP) : AP (Disponible + Résistant au partitionnement) plutôt que CP (Cohérent + Résistant au partitionnement) => nʼont en général pas de gestion de transactions mode d'utilisation : peu d'écritures, beaucoup de lectures Bernard ESPINASSE - Introduction aux systèmes NoSQL 27 Bernard ESPINASSE - Introduction aux systèmes NoSQL 28

8 «Sharding» : Mécanisme de partitionnement horizontal (par tuples) des données dans lequel les objets-données sont stockées sur des nœuds serveurs différents en fonction dʼune clé (ex : fonction de hachage) Ex : partition = hash(o) mod n avec o = objet-données à placer et n= nb de nœuds serveur disponibles les données peuvent être aussi partitionnées afin que :! les objets-données accédés ou mis à jour en même temps, résident sur le même nœud! la charge soit uniformément répartie entre les nœuds! pour cela des objet-données peuvent /*234*0(#=&K=*(,*!(.&*(=>&,*0(#=&K=D être répliquées certains systèmes utilisent aussi un =(*/0>"&G&*!0/%/7"%"=?*/#)*/G/"%/7"%"=?*"#*0(.+/,"!(#*=(*,&%/="(#/%*)/=/*!=(,&!D partitionnement vertical (par colonnes) dans lequel des parties d'un enregistrement sont stockées sur différents!" #$%%$&'($&()*+, serveurs.!"#$%&'(* Bernard ESPINASSE - Introduction aux systèmes NoSQL 29 /00&!!&!I<+)/=&)*=($&=>&,5*,&!")&*(#*=>&*!/.&*#()&D*B>&*%(/)*"!*/%.(!=*&G&#%?*)"!=,"7<=&)* 3. Basic Concepts, Techniques and Patterns 40 )*'+&+,-',."#+"&'(. Suite quand un nœud quitte lʼanneau, les objets qui lui sont liés sont alors associés à leur nœud adjacent dans le sens horaire : Ex : le nœud C quitte lʼanneau, 3 est alors associé avec 4 et 1 au nœud A quand un nœud entre dans lʼanneau, il est placé (haché) sur lʼanneau et des objets lui seront associés selon sa place dans lʼanneau : Ex : le nœud D entre dans lʼanneau, les objets 3 et 4 lui sont associés Dʼaprès Strauch!"#$%&'#()&*+&,-(,./#0&*(-*/*1(2345*)"!6'7/!&)5*#(#'89:;5*.<%="=>,&/)&)*!?!=&.*"!* &#$"#&D*:#*&!!&#0&5*89:;*=,/#!/0="(#!*/,&*E&=="!(#&)*-(,*/*.()&!=*+&,-(,./#0&*7((!=5*/#)* B>&*")&/*7&>"#)*0(#!"!=&#=*>/!>"#$*"!*=(*<!&*=>&*!/.&*>/!>*-<#0="(#*-(,*7(=>*=>&*(7E&0=* Figure 3.4.: Consistent Hashing Initial Situation (taken from [Whi07]) 85F59*/,&*#()&!*/#)*N5O5P5Q*/,&*(7E&0=!D*F(=>*(-*=>&.*/,&*./++&)*=(*/*>/!>*,/#$&*/#)* )*'+&+,-',."#+"&'(. «Consistent hashing» : Mécanisme de partitionnement B>&*")&/*7&>"#)*0(#!"!=&#=*>/!>"#$*"!*=(*<!&*=>&*!/.&*>/!>*-<#0="(#*-(,*7(=>*=> (horizontal) dans lequel les objet-données sont stockés sur des nœuds-serveurs différents en utilisant la même fonction de hachage à la fois pour le hachage des objets et le hachage des nœuds : nœuds et objets sont associés par une même fonction de hachage, et imaginés être placés sur un anneau (rack/cluster de serveurs) Ex : A, B, C sont des nœuds (serveurs) et 1, 2, 3, 4 sont des objets. un objet est associé au premier nœud serveur dans le sens horaire : Ex : les objets 4 et 1 sont associés au nœud A ; 2 à B ; 3 à C. Dʼaprès Strauch /00&!!&!I<+)/=&)*=($&=>&,5*,&!")&*(#*=>&*!/.&*#()&D*B>&*%(/)*"!*/%.(!=*&G&#%?* 85F59*/,&*#()&!*/#)*N5O5P5Q*/,&*(7E&0=!D*F(=>*(-*=>&.*/,&*./++&)*=(*/*>/!>*,/ Bernard ESPINASSE - Introduction aux systèmes NoSQL 30 Map-Reduce : Modèle de programmation parallèle (framework de calcul distribué) pour le traitement de grands ensembles de données développé par Google pour le traitement de gros volumes de données en environnement distribué :! permet de répartir la charge sur un grand nb de serveurs (cluster)! abstraction quasi-totale de lʼinfrastructure matérielle : gère entièrement, de façon transparente le cluster, la distribution de données, la répartition de la charge, et la tolérance aux pannes! ajouter des machines augmente la performance (plug & play, scalablefriendly) la librairie MapReduce existe dans plusieurs langages (C++, C#, Erlang, Java, Python, Ruby ) Figure 3.5.: Consistent Hashing Situation after Node Joining and Departure (taken from [Whi07]) be unbalanced which in turn results in an unbalanced distribution of cache objects on these nodes (as Bernard ESPINASSE - Introduction aux systèmes NoSQL 31 it can already be seen in the small scenario of figure 3.5 where node D has to take cache objects from a greater interval than node A and especially node B). An approach to solve this issue is to hash a number of representatives/replicas also called virtual nodes for each physical node onto the ring (cf. [Whi07], as an example see figure 3.6). The number of virtual nodes for a physical can be defined individually according to its hardware capacity (cpu, memory, disk capacity) and does not have to be the same for all physical Bernard ESPINASSE - Introduction aux systèmes NoSQL 32

9 Divers usages de Map-Reduce : Utilisé par les grands acteurs du Web notamment pour : construire les index (Google Search), détection de spam (Yahoo), Data Mining (Facebook) Mais aussi pour :! De lʼanalyse dʼimages astronomique, de la bioinformatique, de la!"##$%&'(&')"'&(*+$,'-&.)$/&"&/(%$&0$"1$2&')$&232'$!4&,",)$&(*+$,'2&5600&7$'&!"##$%&'(& simulation métrologique, de lʼapprentissage ')$68&"%+",$/'&/(%$&96/&,0(,:562$&%68$,'6(/;&"/%&5)$/&"&/(%$&$/'$82&')$&232'$!&6'&5600&7$'& automatique (Machine Learning), des statistiques, )"2)$%&(/'(&')$&86/7&"/%&5600&(1$8'":$&(*+$,'2-! le calcul de la taille de plusieurs milliers de documents!"#$%&'()&! trouver le nb dʼoccurrences dʼun pattern dans un très grand volume de données <"#=$%>,$&62&"&#8(78"!!6/7&!(%$0&?(8&#8(,$226/7&0"87$&%"'"&2$'24&"/%&')$&/"!$&(?&"/&! classifier de très grands volumes de données provenant par exemple de,(!#>'6/7&(/&,0>2'$82&(?&,(!#>'$82-&a'&>2$2&"&!"#&?>/,'6(/&"/%&"&8$%>,$&?>/,'6(/-&b)$& paniers dʼachats de clients (Data Mining)!"#&?>/,'6(/&#8(,$22$2&"&:$3C1"0>$&#"68&"/%&7$/$8"'$2&"&2$'&(?&6/'$8!$%6"'$&:$3C1"0>$&! #"682-&B)$&8$%>,$&?>/,'6(/&!$87$2&"00&6/'$8!$%6"'$&1"0>$2&"22(,6"'$%&56')&')$&2"!$& 6/'$8!$%6"'$&:$3-!.)$/&"##06$%&'(&%"'"*"2$24&<"#=$%>,$&!$"/2&'(&#8(,$22&"&2$'&(?&:$32& *3&2>*!6''6/7&')$&#8(,$22&0(76,&9!"#D&"/%&8$%>,$D?>/,'6(/&,(%$;&'(&')$&2'(8"7$&/(%$2& 5)6,)&0(,"003&"##03&')$&!"#&?>/,'6(/&'(&:$32&')"'&2)(>0%&*$&#8(,$22$%&"/%&')"'&')$3&(5/-& B)$&6/'$8!$%6"'$&8$2>0'2&,"/&*$&,(/262'$/'03&)"2)$%&+>2'&"2&8$7>0"8&%"'"&"/%&#8(,$22$%&*3& ')$&?(00(56/7&/(%$2&6/&,0(,:562$&%68$,'6(/4&5)6,)&"##03&')$&8$%>,$&?>/,'6(/&'(&')$& 6/'$8!$%6"'$&8$2>0'2&"/%&#8(%>,$&')$&?6/"0&8$2>0'2-&A'&2)(>0%&*$&/('$%&')"'&%>$&'(&')$&,(/262'$/'&)"2)6/7&(?&')$&6/'$8!$%6"'$&8$2>0'2&')$8$&62&/(&,((8%6/"'(8&/$$%$%&'(&%68$,'&')$& #8(,$226/7&/(%$2&'(&?6/%&')$&6/'$8!$%6"'$&8$2>0'2-&B)62&6%$"&62&600>2'8"'$%&6/&')$&?(00(56/7&?67>8$E Bernard ESPINASSE - Introduction aux systèmes NoSQL 33 Appliqué à la BD, MapReduce traite un ensemble de clés en appliquant les fonctions Map et Reduce aux nœuds de stockage qui appliquent localement la fonction Map aux clés qui doivent être traitées et qu'ils possèdent les résultats intermédiaires peuvent être hachés comme des données ordinaires et traitées par les nœuds suivants dans le sens horaire, qui appliquent la fonction Reduce aux résultats intermédiaires et produisent les résultats finaux du fait du hachage des résultats intermédiaires, aucun coordinateur est utilisé pour diriger les nœuds de traitement vers ces résultats Dʼaprès Strauch *&)+,%-).,)/0 A?&%"'"2$'2&"8$&%62'86*>'$%&"!(/7&/(%$24&')$3&,"/&*$&8$"%&"/%&"0'$8$%&(/&$",)&/(%$&"/%&/(& 2'86,'&,(/262'$/,3&62&$/2>8$%&*3&%62'86*>'$%&'8"/2",'6(/&#8('(,(024&F>$2'6(/2&"862$&(/&)(5& G,(/,>88$/'H&!(%6?6,"'6(/2&"/%&1$826(/2&"8$&#8(,$22$%&"/%&'(&5)6,)&1"0>$2&"&%"'"2$'&5600& Bernard ESPINASSE - Introduction aux systèmes NoSQL 35 Usage de MapReduce en gestion de données : Principales opérations à faire sur des grands ensembles de données : 1. Itérer sur un grand nombre dʼenregistrements 2. Extraire quelque chose ayant un intérêt de chacun de ces enregistrements 3. Regrouper et trier les résultats intermédiaires 4. Agréger tous ces résultats ensemble 5. Générer le résultat final Dans le modèle de programmation MapReduce, le développeur implémente 2 fonctions : la fonction Map et la fonction Reduce! opérations 1 et 2 : fonction Map traite une paire clé/valeur et génère un ensemble de paires de clés intermédiaires/valeurs! opérations 3, 4 et 5 : fonction Reduce fusionne toutes les valeurs intermédiaires associées avec la même clé intermédiaire. Bernard ESPINASSE - Introduction aux systèmes NoSQL 34 Fonctionnement de MapReduce : Traite des données en entrée pour en fournir des résultats en sortie Traitement constitué de plusieurs tâches dont chacune est traitée indépendamment, puis leurs résultats sont combinés On distingue 3 opérations majeures :! Split correspond à une opération de découpage! Compute correspond à une opération de calcul! Join correspond à lʼopération de regroupement du résultat Dans le modèle de programmation MapReduce, le développeur implémente 2 fonctions :! la fonction Map! la fonction Reduce. Bernard ESPINASSE - Introduction aux systèmes NoSQL 36

10 Fonction Map : prend en entrée un ensemble de «Clé, Valeurs» et retourne une liste intermédiaire de «Clé1, Valeur1» : Map(key,value) -> list(key1,value1) Fonction Reduce : prend en entrée une liste intermédiaire de «Clé1, Valeur1» et fournit en sortie une ensemble de «Clé1, Valeur2» : Reduce(key1,list(value1)) -> value2 Lʼalgorithme MapReduce sʼexécute en 5 phases : 1. La phase Initialisation 2. La phase Map 3. La phase regroupement (Shuffle) 4. La phase de Tri 5. La phase Reduce Fonctionnement de MapReduce : Lorsque lʼapplication MapReduce est lancée, elle crée un composant «Master» responsable de la distribution des données, de la coordination de lʼexécution de différentes unités de travail ou «Workers». Le Master attribue aux Workers les tâches map et reduce Un Worker possède 3 états:! idle : il est disponible pour un nouveau traitement! in-progress : un traitement est en cours dʼexécution! completed : il a fini un traitement, il en informe alors le Master de la taille, de la localisation de ses fichiers intermédiaires Le Master gère la synchronisation, la réorganisation, le tri et le regroupement des données : lorsquʼun Worker de type map a fini son traitement, le Master regroupe, trie et renvoie le résultat à un Worker de type reduce Bernard ESPINASSE - Introduction aux systèmes NoSQL 37 Bernard ESPINASSE - Introduction aux systèmes NoSQL 38 Soit : Exemple de BD distribuée : split 0 split 1 split 2 split 3 split 4 Input files (3) read worker worker worker Map phase (1) fork (2) assign map (4) local write User Program (1) fork Master Intermediate files (on local disks) (1) fork (2) assign reduce (5) remote read worker worker Reduce phase (6) write output file 0 output file 1 Output files BD de 1To de données 1800 serveurs les données sont découpées en morceaux dʼenviron 64Mo un seul serveur effectue la réduction (afin dʼavoir les résultats dans un seul fichier) Performances de MapReduce sur cette BD : démarrage relativement lent dû au temps de propagation du programme (±1mn). les Maps sont tous finis au bout dʼenviron 80s lʼopération se termine en 150s. on atteint un pic de lecture de 30Go/s Bernard ESPINASSE - Introduction aux systèmes NoSQL Figure 1: Executionoverview 39 Bernard ESPINASSE - Introduction aux systèmes NoSQL 40 Inverted Index: The map function parses each document, and emits a sequence of word, document ID large clusters of commodity PCs connectedtogether with switched Ethernet [4]. In our environment:

11 On souhaite calculer le nombre de mots dans un document : la fonction Map, «mapfunc» est alors : mapfunc(string key, String value): // key: id du document; // value: contenu du document for each word w in value EmitIntermediate (w, 1) mapfunc a 2 arguments : la clé (key) identifiant le document dont on souhaite compter les mots le contenu du document (value) lʼensemble des valeurs est parcouru par une boucle «for each» : pour chaque mot identifié, on appelle la méthode EmitIntermediate elle place dans une zone intermédiaire le mot et la valeur 1 (correspondant à une occurrence). La fonction Reduce «reducefunc» est : reducefunc(string key, Iterator values) // key: un mot; values: une liste de valeurs result = 0 for each count v in values result += v EmitResult(result) reducefunc a 2 arguments : la clé (key) correspond à un mot identifié par la fonction mapfunc une liste de valeurs contenant le nb dʼoccurrences de ce mot la liste des valeurs correspond à lʼensemble des paires (mot, count) mises en zones intermédiaires par la fonction mapfunc pour comptabiliser tous les mots du document, on initialise la variable result à 0, puis on itére sur lʼensemble des valeurs de la liste, puis chaque valeur est rajoutée à la variable result à la fin de lʼitération, la variable result contient le total du nb dʼoccurrence et le résultat est renvoyé par la fonction EmitResult Bernard ESPINASSE - Introduction aux systèmes NoSQL 41 Bernard ESPINASSE - Introduction aux systèmes NoSQL 42 Soit le fichier du document en entrée contenant 3 lignes (fractionnement du fichier en 3) chaque ligne contient 3 lettres (AAC, CBD, ACD) traitement MapReduce effectué pour compter les mots du document : Les étapes réalisées sont : Lʼétape File : on lit le fichier en entrée et on initialise les différents «Workers MapReduce» Lʼétape Splitting : on distribue les données à traiter sur les différents noeuds du cluster de traitement Lʼétape Map : on effectue le compte de chacune des lettres et ceci en local sur chaque noeud du cluster de traitement Lʼétape Suffling : on regroupe toutes les lettres ainsi que leur compte à partir de tous les noeuds de traitement Lʼétape Reduce : on effectue le cumule de toutes les valeurs de chaque lettre Lʼétape Result : on agrège tous les résultats des différentes étapes Reduce et on retourne le résultat final. Bernard ESPINASSE - Introduction aux systèmes NoSQL 43 Bernard ESPINASSE - Introduction aux systèmes NoSQL 44

12 Contrôle de Concurrence Multi-Version (MVCC) : Méthode de contrôle de concurrence couramment utilisée par les SGBD pour gérer des accès simultanés à la base de données avec mises à jour Dans une BD NoSQL, la gestion des mises à jour est faite :! non pas en supprimant une fraction contenant les données avant modification et en la remplaçant par une fraction contenant les données modifiées! mais en marquant les anciennes données comme obsolètes et en ajoutant une nouvelle version contenant les nouvelles données! il existe ainsi plusieurs versions enregistrées, une seule est la plus récente nécessite généralement un balayage périodique pour supprimer les objets de données obsolètes. Horloges vectorielles (Vector-clocks) : Les ensembles de données répartis sur nœuds peuvent être lus et modifiés sur chaque nœud et aucune cohérence stricte est assurée par des protocoles de transactions distribuées Problème : comment faire des modifications concurrentes Une solution : les horloges vectorielles :! un vecteur d'horloge est défini comme un n-uplet V [0], V [1],..., V[n] des valeurs d'horloge à partir de chaque noeud.! à tout instant le noeud i maintient un vecteur d'horloge représentant son état et celui des autres nœuds répliques : (Vi [0] = valeur de l'horloge du premier noeud, Vi [1] = valeur de l'horloge du deuxième noeud,... Vi [i] = sa propre valeur dʼhorloge,... Vi [n] = valeur de l'horloge du dernier nœud)! les valeurs d'horloge peuvent être de réelles «timestamps» dérivées d'une horloge locale de nœud, du numéro de version/révision Bernard ESPINASSE - Introduction aux systèmes NoSQL 45 Bernard ESPINASSE - Introduction aux systèmes NoSQL 46!"#$%&'()*+*,- Stocker les informations de la façon la mieux adaptée à leur représentation => différents types de BD NoSQL : type «Clé-valeur / Key-value» : basique, chaque objet est identifié par une clé unique constituant la seule manière de le requêter! Voldemort, Redis, Riak, type «Colonne / Column» : permet de disposer d'un très grand nb de valeurs sur une même ligne, de stocker des relations «one-to-many», dʼeffectuer des requêtes par clé (adaptés au stockage de listes : messages, posts, commentaires,...)! HBase, Cassandra, Hypertable, type «Document» : pour la gestion de collections de documents, composés chacun de champs et de valeurs associées, valeurs pouvant être requêtées (adaptées au stockage de profils utilisateur)! MongoDBn CouchDB, Couchbase, type «Graphe» : pour gérer des relations multiples entre les objets (adaptés au données issues de réseaux sociaux, )! Neo4j, OrientDB, Bernard ESPINASSE - Introduction aux systèmes NoSQL 47!"#$%&'(") *+,-".,-*/0 1,234(+5,&6(*7-8& *09,:,9&;2&1,2 F,7D=7)(0?,.,'(/0) *+,-" <=+5)0-&(09 1,2(/"0+) *+,-" 6(*7-&D=7)&(& E,++&(-&-?(+(7&B(+5,- GGG GGG GG GG J,- J,- J,-!= G GG GG GGG M,7N+,2&.MO L,9*- L*(N #HF&#2;(-,&K$O& Q==/+, M*/R(;+, PM(-, <(--(097( C=0/=.M <=5?A.M <=5?A;(-, 3-&45) *+,-" 2,00"2+6,07 Q7(6A&RA,=72!,=ST WR7*6+,&(09&$5(9& Bernard ESPINASSE - Introduction aux systèmes NoSQL 48 YZ

13 !"#$%&!"!#$%!&$'##$()$%! %*#(+'*,%!#'()*+#,-.(/ ()*+%,-).,/+0/1%2)% BD 2033)*)14+%!5*52067)+ NOSQL modèle «Clé-Valeur» Forces & faiblesses des BD NoSQL 9$35".:8;$25" ;3<"./5",=>?" '/.8+($22/.5" 7(5%$5/2+" 7:8+$3+5" /B%.(C382+"./3'" /+"./3'".8')/" 3+(.(58+($2<" -8(5" 8355(" 7/".(-(+/5"(-%$'+82+/5"C3("$2+"4$273(+"D"7/" 2$3;/../5"8%%'$4*/5E" 5$.3+($2" 83" 48'84+F'/" 32(;/'5/.E" G8%%/.$25" D" 4/" +(+'/" C3/".8" -$3;824/" 9$,HI" 2/" %'J2/" 2$35" 4.855$25" ;9"?:$% D"?E#8:<$>% F%!":"C<#G$% D=E% H% I"=$9:J% K">$>% Bernard ESPINASSE - Introduction aux systèmes NoSQL 49 Elles fonctionnent comme un grand tableau associatif et retourne une valeur dont elle ne connaît pas la structure leur modèle peut être assimilé à une table de hachage (hashmap) distribuée les données sont simplement représentées par un couple clé/valeur la valeur peut être une simple chaîne de caractères, ou un objet sérialisé cette absence de structure ou de typage ont un impact important sur le requêtage : toute lʼintelligence portée auparavant par les requêtes SQL devra être portée par lʼapplicatif qui interroge la BD. Implémentations les plus connues :! Amazon Dynamo (Riak en est l'implémentation Open Source)! Redis (projet sponsorisé par VMWare)! Voldemort (développé par Linkedln en interne puis passage en open source). Bernard ESPINASSE - Introduction aux systèmes NoSQL 50 4MA$>%C$%N">$%18+O,%F%!":"C<#G$%D=E%H%I"=$9:% Chaque objet est identifié par une clé unique seule façon de le requêter I8" 5+'34+3'/" 7/".:$AO/+" /5+".(A'/" /+"./" %.35" D".8" 4*8')/" 73" 7/" la structure de lʼobjet est libre, souvent laissé à la charge du de lʼapplication (XML, JSON,...), la base ne gérant généralement que des chaînes dʼoctets Leur exploitation est basée sur 4 opérations (CRUD):! C reate : créer un nouvel objet avec sa clé! create(key, value)! R ead : lit un objet à partir de sa clé! read(key)! U pdate : met à jour la valeur dʼun objet à partir de sa clé! update(key, value)! D elete: supprime un objet à partir de sa clé! delete(key) elles disposent généralement dʼune simple interface de requêtage HTTP REST accessible depuis nʼimporte quel langage de développement ont des performances très élevées en lecture et en écriture et une scalabilité horizontale considérable le besoin en scalabilité verticale est faible du fait de la simplicité des opérations effectuées Bernard ESPINASSE - Introduction aux systèmes NoSQL 51 Bernard ESPINASSE - Introduction aux systèmes NoSQL 52!"#$%&'()*+",-(./"0"1%/2",$3'4/",$.3+($25"0"6$3+/"'/%'$734+($2"(2+/'7(+/"5825"83+$'(58+($2"

14 Utilisations principales des BD NoSQL type «Clés-Valeurs» :! dépôt de données avec besoins de requêtage très simples! système de stockage de cache ou dʼinformation de sessions distribuées (quand lʼintégrité relationnelle des données est non significative)! les profils, préférences dʼutilisateur! les données de panier dʼachat! les données de capteur! les logs de données! Forces : modèle de données simple bonne mise à lʼéchelle horizontale pour les lectures et écritures :! évolutivité (scalable)! disponibilité! pas de maintenances requises lors d'ajout/suppression de colonnes Faiblesses : modèle de données TROP simple :! pauvre pour les données complexes! interrogation seulement sur clé! déporte une grande partie de la complexité de l'application sur la couche application elle-même Bernard ESPINASSE - Introduction aux systèmes NoSQL 53 Bernard ESPINASSE - Introduction aux systèmes NoSQL 54 BD NOSQL modèle «Colonne»Xxxx Forces & faiblesses des BD NoSQL «Colonne» Les données sont stockées par colonne, non par ligne on peut facilement ajouter des colonnes aux tables, par contre l'insertion d'une ligne est plus coûteuse quand les données d'une colonne se ressemblent, on peut facilement compresser la colonne modèle proche dʼune table dans un SGBDR mais ici le nombre de colonnes :! est dynamique! peut varier dʼun enregistrement à un autre ce qui évite de retrouver des colonnes ayant des valeurs NULL. Implémentations les plus connues :! HBase (Open Source de BigTable de Google utilisé pour l'indexation des pages web, Google Earth, Google analytics,...)! Cassandra (fondation Apache qui respecte lʼarchitecture distribuée de Dynamo dʼamazon, projet né de chez Facebook)! SimpleDB de Amazon. Bernard ESPINASSE - Introduction aux systèmes NoSQL 55 Bernard ESPINASSE - Introduction aux systèmes NoSQL 56

15 %*#(+'*,%!#'()*+#,-.(/!"#$%&' Les principaux concepts associés sont les suivants : Colonne :! entité de base représentant un champ de donnée! chaque colonne est définie par un couple clé / valeur! une colonne contenant dʼautres colonnes est nommée super colonne. Famille de colonnes :! permettent de regrouper plusieurs colonnes (ou super colonnes)! les colonnes sont regroupées par ligne! chaque ligne est identifiée par un identifiant unique (assimilées aux tables dans le modèle relationnel) et sont identifiées par un nom unique Super colonnes :! situées dans les familles de colonnes sont souvent utilisées comme les lignes dʼune table de jointure dans le modèle relationnel. Bernard ESPINASSE - Introduction aux systèmes NoSQL 57 Elles sont les plus complexes à appréhender des BD NoSQL, même si au final on a un schéma assez proche des bases documentaires elles sont très utilisées pour les traitements dʼanalyse de données et dans les traitements massifs (notamment via des opérations de type MapReduce). elles offrent plus de flexibilité que les BD relationnelles:! Il est possible dʼajouter une colonne ou! une super colonne! à nʼimporte quelle ligne! dʼune famille de colonnes, colonnes ou super colonne à tout instant.!"#$%&'()#*+%,-.#/ 012(3&-!"#$ #%&"'()*+*,,"#$ #-.%/"#$ 01,#$ +"#$ "#$ 0"$ )*+*,,"#$ #*,.$ #*%4",.$ %.-+-#/"#$ )*33"$ +"#$ +-5,"#$ 06%,"$.17+"$ 0"$ 8*-,.%'"$ 01,#$ +"$ 3*09+"$ '"+1.-*,,"+:$ ;*3&1'1.-4"3",.$ 1%$ 3*09+"$ '"+1.-*,,"+<$ +"#$ 71#"#$ *'-",./"$ )*+*,,"#$ *22'",.$ &+%#$ 0"$ 2+"=-7-+-./:$ >+$ "#.$ "22".$ &*##-7+"$ 0618*%."'$ %,"$ )*+*,,"$ *%$ %,"$ #%&"'$ +-5,"$ 06%,"$ "$ 0"$ )*+*,,"#<$)*+*,,"#$*%$#%&"'()*+*,,"$?$.*%.$-,#.1,.:$ 4)-#,%5#6%,#$'.+%(-,# 7!89 Bernard ESPINASSE - Introduction aux systèmes NoSQL 58 $'.+%(-,#+2:&-# 32,+;+;%)-<#;)+%#!# ()*$+%,$%-"+$%./012%3%!"4",5#6$%#4"*7$% =%&'()#62(;&;-.>#3,%6;&-# 2)<#%,<-,. ;"$ tuple &1'10-53"$ pour le "#.$ client +"$ *-,#$ )*,,%$ 0"$ )"%=$ 0"$ +1$ 3*%41,)"$ A*BC!:$ ;"$ 3*09+"$ #61&&%-"$ &'-,)-&1+"3",.$#%'$0"%=$)*,)"&.#$D$06%,"$&1'.$+6%.-+-#1.-*,$06%,$3*."%'$0"$#.*)E15"$&*%'$+"#$ table «Clients partitionnée en 2 familles =%&'().#A-BCB#)2(-#2)<# de colonnes : /.1,.$,*33/"$,H%0I:$J61%.'"$&1'.<$?$)"$3*09+"<$4-",.$#618*%."'$%,$3/)1,-#3"$&"'3"..1,.$ «Profile et «Orders» 0"$ chaque 0/)'-'"$ famille +"#$ 1')#$ de colonnes F'"+1.-*,#$ a.'3-,=%&'(). A?2D-#2# ",.'"$ +"#$ *78".#I<$ )"%=()-$ /.1,.$ *'-",./#$ ".$ 0-#&*#1,.$ 0"$ &'*&'-/./#$F,*3<$01."<$KI:$ des colonnes (e.g. name et payment), des super colonnes )'(:-,#%6#2..%=;2+-<# avec un nom et un nombre arbitraire =%&'()." de colonnes associées chaque famille de colonnes :-#+,-2+-<#2.#2#.-32,2+-# peut être traitée comme une table séparée +2:&-#;)#+-,(.#%6# en terme de partitionnement.?2,<;)c>(sharding) :! «Profile» E,%6;&-#6%,#$'.+%(-,# pour le client 1234 peut être sur le nœud 1 4,<-,.#6%,#$'.+%(-,#! «Orders pour le client 1234 peut être sur le noeud 2!G Bernard ESPINASSE - Introduction aux systèmes NoSQL 59 Bernard ESPINASSE - Introduction aux systèmes NoSQL 60

16 Forces : Modèle de données supportant des données semi-structurées (clairsemées) naturellement indexé (colonnes) bonne mise à l'échelle à l'horizontale MapReduce souvent utilisé en scaling horizontal, on peut voir les résultats de requêtes en temps réel Faiblesses : A éviter pour des données interconnectés : si les relations entre les données sont aussi importantes que les données elles-mêmes (comme la distance ou calculs de la trajectoire) à éviter pour les lectures de données complexes exige de la maintenance - lors de l'ajout / suppression de colonnes et leur regroupements les requêtes doivent être pré-écrit, pas de requêtes ad-hoc définis "à la volée": NE PAS utiliser pour les requêtes non temps réel et inconnues. Les BD NoSQL type «Colonne» sont principalement utilisées pour :! Netflix l'utilise notamment pour le logging et l'analyse de sa clientèle! Ebay l'utilise pour l'optimisation de la recherche! Adobe l'utilise pour le traitement des données structurées et de Business Intelligence (BI)! Des sociétés de TV lʼutilisent pour cerner leur audience et gérer le vote des spectateurs (nb élevé d'écritures rapides et analyse de base en temps réel (Cassandra)! peuvent être de bons magasins d'analyse des données semi-structurées! utilisé pour la journalisation des événements et pour des compteurs! Bernard ESPINASSE - Introduction aux systèmes NoSQL 61 Bernard ESPINASSE - Introduction aux systèmes NoSQL 62 BD NOSQL modèle «Document» Forces & faiblesses des BD NoSQL «Document» Elles stockent une collection de "documents" elles sont basées sur le modèle «clé-valeur» mais la valeur est un document en format semi-structuré hiérarchique de type JSON ou XML (possible aussi de stocker n'importe quel objet, via une sérialisation) les documents n'ont pas de schéma, mais une structure arborescente : ils contiennent une liste de champs, un champ a une valeur qui peut être une liste de champs,... elles ont généralement une interface dʼaccès HTTP REST permettant dʼeffectuer des requêtes (plus complexe que lʼinterface CRUD des BD clés/valeurs) Implémentations les plus connues :! CouchDB (fondation Apache)! RavenDB (pour plateformes «.NET/Windows» - LINQ)! MongoDB, Terrastore, Bernard ESPINASSE - Introduction aux systèmes NoSQL 63 Bernard ESPINASSE - Introduction aux systèmes NoSQL 64

17 Un document est composé de champs et des valeurs associées ces valeurs :! peuvent être requêtées! sont soit dʼun type simple (entier, chaine de caractère, date,...)! soit elles mêmes composées de plusieurs couples clé/valeur. bien que les documents soient structurés, ces BD sont dites schemaless : il nʼest pas nécessaire de définir au préalable les champs utilisés dans un document les documents peuvent être très hétérogènes au sein de la BD permettent dʼeffectuer des requêtes sur le contenu des documents/objets : pas possible avec les BD clés/valeurs simples Elles sont principalement utilisées dans le développement de CMS (Content Management System - outils de gestion de contenus).!"# Bernard ESPINASSE - Introduction aux systèmes NoSQL 65 $%"&'()'# *+"+(,-'.'"/# 0"'# 1"/'(2,$'# 34,$$5&# 6778# 9:;7#<'(.'//,"/#34'22'$/ Bernard ESPINASSE - Introduction aux systèmes NoSQL 66 $-+&E),-'0(&F# G'&# 2%(.,/&# 3'# 3%""+'&# H;!I# '/# JKG# &%"/# -'# <-0&# &%0)'"/# 0/1-1&+&#, 34,&&0('(#-'#/(,"&2'(/#3'&#3%""+'&#&+(1,-1&+'&#'"/('#-4,<<-1$,/1%"#'/#-,#?,&'F# Forces : modèle de données simple mais puissant (expression de structures imbriquées) bonne mise à l'échelle (surtout si sharding pris en charge) pas de maintenance de la BD requise pour ajouter/supprimer des «colonnes» forte expressivité de requêtage (requêtes assez complexes sur des structures imbriquées) Faiblesses : inadaptée pour les données interconnectées modèle de requête limitée à des clés (et indexes) peut alors être lent pour les grandes requêtes (avec MapReduce) D0# 2,1/# 3'# -'0(# $%"$'</1%"# <-0&# &1.<-'# =0'# -'&#?,&'&# 3'# 3%""+'&# ('-,/1%""'--'&L# $'&#?, $%"&'()'"/# 3'&# <'(2%(.,"$'&# +-')+'&F# :--'&# 31&<%&'"/# <,(#,1--'0(&# 3'# 2%"$/1%"",-1/+&# / 1"/+('&&,"/'&#'"#/'(.'#3'#2-'A1?1-1/+#30#.%35-'#3%$0.'"/,1('L#$'#=0'#-'&#?,&'&#('-,/1%""' "'# <'0)'"/# %22(1(F# B'//'# 3'("15('# 2%"$/1%"",-1/+# -'0(# $%"25('# 0"'# <%<0-,(1/+# 1.<%(/," Les BD NoSQL type «Document» principalement utilisées "%/,..'"/#3,"&#-'#.1-1'0#30#3+)'-%<<'.'"/#3'#BK;#MB%"/'"/#K,",*'.'"/#;N&/'.L#%0 pour : 3'#*'&/1%"#3'#$%"/'"0&O#<%0(#-'&=0'-&#$'#.%35-'#'&/#/(5&#,3,</+F#! Enregistrement dʼévénements! Systèmes de gestion de contenu! Web analytique ou analytique temps-réel! Catalogue de produits! Systèmes d'exploitation!!"#$%&'()*+",-(./"0"1%/2",$3'4/",$.3+($25"0"6$3+/"'/%'$734+($2"(2+/'7(+/"5825"83+$'(58+($2" Bernard ESPINASSE - Introduction aux systèmes NoSQL 67 Bernard ESPINASSE - Introduction aux systèmes NoSQL 68

18 Elles permettent la modélisation, le stockage et la manipulation de données complexes liées par des relations non-triviales ou variables BD NOSQL modèle «Graphe» Forces & faiblesses des BD NoSQL «Graphe» modèle de représentation des données basé sur la théorie des graphes!"#$ #%&"'()*+*,,"#$ #-.%/"#$ 01,#$ +"#$ "#$ 0"$ )*+*,,"#$ #*,.$ #*%4",.$ %.-+-#/"#$ )*33"$ +"#$ +-5,"#$ 06%,"$ sʼappuie.17+"$ sur 0"$ les 8*-,.%'"$ notions 01,#$ de noeuds, +"$ 3*09+"$ de '"+1.-*,,"+:$ relations et ;*3&1'1.-4"3",.$ de propriétés 1%$ 3*09+"$ '"+1.-*,,"+<$ qui +"#$ leur 71#"#$ sont rattachées. *'-",./"$ )*+*,,"#$ *22'",.$ &+%#$ 0"$ 2+"=-7-+-./:$ >+$ "#.$ "22".$ &*##-7+"$ 0618*%."'$ Implémentations %,"$ )*+*,,"$ *%$ les %,"$ plus #%&"'$ connues )*+*,,"$ +-5,"$ 06%,"$ "$ 0"$ )*+*,,"#<$)*+*,,"#$*%$#%&"'()*+*,,"$?$.*%.$-,#.1,.:$! Neo4J! OrientDB (fondation Apache)! ()*$+%,$%-"+$%./012%3%!"4",5#6$%#4"*7$% Bernard ESPINASSE - Introduction aux systèmes NoSQL 69 Elles utilisent : ;"$ &1'10-53"$ "#.$ +"$ 3*-,#$ )*,,%$ 0"$ )"%=$ 0"$ +1$ 3*%41,)"$ A*BC!:$ ;"$ 3*09+"$ #61&&%-"$ Bernard ESPINASSE - Introduction aux systèmes NoSQL 70 &'-,)-&1+"3",.$#%'$0"%=$)*,)"&.#$D$06%,"$&1'.$+6%.-+-#1.-*,$06%,$3*."%'$0"$#.*)E15"$&*%'$+"#$ /.1,.$,*33/"$,H%0I:$J61%.'"$&1'.<$?$)"$3*09+"<$4-",.$#618*%."'$%,$3/)1,-#3"$&"'3"..1,.$ 0"$ 0/)'-'"$ +"#$ 1')#$ F'"+1.-*,#$ ",.'"$ +"#$ *78".#I<$ )"%=()-$ /.1,.$ *'-",./#$ ".$ 0-#&*#1,.$ 0"$ &'*&'-/./#$F,*3<$01."<$KI:$.! un moteur de stockage pour les objets (similaire à une base documentaire, chaque entité de cette base étant nommée nœud)! un mécanisme de description dʼarcs (relations entre les objets), arcs orientés et avec propriétés (nom, date,...) elles sont bien plus efficaces que les BDR pour traiter les problématiques liées aux réseaux (cartographie, relations entre personnes,...) sont adaptées à la manipulation d'objets complexes organisés en réseaux : cartographie, réseaux sociaux,.. Bernard ESPINASSE - Introduction aux systèmes NoSQL 71 Bernard ESPINASSE - Introduction aux systèmes NoSQL 72!"#$%&'()*+",-(./"0"1%/2",$3'4/",$.3+($25"0"6$3+/"'/%'$734+($2"(2+/'7(+/"5825"83+$'(58+($2"

19 Forces : modèle de données puissant rapide pour les données liées, bien plus rapide que SGBDR modèles dʼinterrogation bien établis et performants : Tinkerpop pile (fournit un ensemble commun d'interfaces permettant aux différentes technologies informatiques graphiques de travailler ensemble, que le développeur utilise en cas de besoin), SPARQL et Cypher Faiblesses : Fragmentation (sharding) :! Même si elles peuvent évoluer assez bien! Pour certains domaines, on peut aussi fractionner. Les BD NoSQL type «Document» sont principalement utilisées pour :! Moteurs de recommandation! Business Intelligence (BI)! Semantic Web! Social computing! Données géospatiales! Généalogie! Web of things! Catalogue des produits! Sciences de la Vie et calcul scientifique (bioinformatique, )! Données liées, données hiérarchiques! Services de routage, d'expédition et de géolocalisation! Services financiers : chaîne de financement, dépendances, gestion des risques, détection des fraudes, Bernard ESPINASSE - Introduction aux systèmes NoSQL 73 Bernard ESPINASSE - Introduction aux systèmes NoSQL 74 Magasins de triplets RDF (Triple Stores) : the foundation of many Semantic Web systems encodés in format/langage RDF chaque ligne a une structure «nœud-lien-noeud» (sujet-prédicatobjet) possibilité de joindre des graphes ensemble automatiquement en faisant correspondre les identifiants des nœuds possibilité de fusion automatique de 2 graphes Ex: le graphe 1 a le noeud A relié à B et le graphe 2 le nœud B relié à C, l'union de ces graphes montre une relation de A à C. les données RDF interrogées via le protocole/langage de requête SPARQL permettant l'utilisation d'ontologies pour l'inférence (Groupe W3C RDF Data Access de travail) Ex : Virtuoso, Sesame, Jena!"#$%&'(#)*+%,-#. /0*0%,## Internet 12*,%2,*# : net 2,*#+/#3+4'0*,%- of computers Word 5+%6#576,#5,8# WideWeb : web 9,8#+/#6+304,2*- of documents (GGG) Giant Global Graph : graph of metadata :$$$"#$7&2*#$;+8&;#$%&'(# <%&'(#+/#4,*&6&*& I called this graph the Semantic Web, but maybe it should have been Giant Global!"#$%&&'(#)*+,#-.%/*#)*'#0'1%2)+$#3'45#46)#1%74'#+)#,*86&(#*%9'#4''2#:+%2)# Graph. - Tim Berners-Lee 2007 :&84%&#:.%/*;<#= ABBC =! Bernard ESPINASSE - Introduction aux systèmes NoSQL 75 Bernard ESPINASSE - Introduction aux systèmes NoSQL 76

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

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

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

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

http://blog.khaledtannir.net

http://blog.khaledtannir.net Algorithme de parallélisations des traitements Khaled TANNIR Doctorant CIFRE LARIS/ESTI http://blog.khaledtannir.net these@khaledtannir.net 2e SéRI 2010-2011 Jeudi 17 mars 2011 Présentation Doctorant CIFRE

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

MongoDB. Objectif Découvrir l'aggrégation des requêtes, l'indexation, la réplication et l'autosharding sur MongoDB

MongoDB. Objectif Découvrir l'aggrégation des requêtes, l'indexation, la réplication et l'autosharding sur MongoDB ESIPE IR3 - IG3 Cloud Computing #3 MongoDB Objectif Découvrir l'aggrégation des requêtes, l'indexation, la réplication et l'autosharding sur MongoDB Révisions Téléchargez depuis le site le fichier ex.tgz.

Plus en détail

BD parallèles et réparties

BD parallèles et réparties LOG660 - Bases de données de haute performance BD parallèles et réparties Département de génie logiciel et des TI BD parallèles vs réparties BD réparties Les données se trouvent sur plusieurs sites (noeuds)

Plus en détail

Organiser vos données - Big Data. Patrick Millart Senior Sales Consultant

Organiser vos données - Big Data. Patrick Millart Senior Sales Consultant Organiser vos données - Big Data Patrick Millart Senior Sales Consultant The following is intended to outline our general product direction. It is intended for information purposes only, and may not be

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

Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_r.html. R.R. Université Lyon 2

Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_r.html. R.R. Université Lyon 2 Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_r.html 1 Plan de présentation 1. L écosystème Hadoop 2. Principe de programmation MapReduce 3. Programmation des fonctions

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

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

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

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

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

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

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

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

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

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

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

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

Systèmes Répartis. Pr. Slimane Bah, ing. PhD. Ecole Mohammadia d Ingénieurs. G. Informatique. Semaine 24.2. Slimane.bah@emi.ac.ma

Systèmes Répartis. Pr. Slimane Bah, ing. PhD. Ecole Mohammadia d Ingénieurs. G. Informatique. Semaine 24.2. Slimane.bah@emi.ac.ma Ecole Mohammadia d Ingénieurs Systèmes Répartis Pr. Slimane Bah, ing. PhD G. Informatique Semaine 24.2 1 Semestre 4 : Fev. 2015 Grid : exemple SETI@home 2 Semestre 4 : Fev. 2015 Grid : exemple SETI@home

Plus en détail

Introduction aux bases de données

Introduction aux bases de données Introduction aux bases de données BD4 SB, FC, & N G d R Licence MIASHS, Master ISIFAR, Paris-Diderot Janvier 2015 BD4 (Licence MIASHS, Master ISIFAR, Paris-Diderot) Introduction aux bases de données 1/10

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

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

Architecture Logicielle

Architecture Logicielle Architecture Logicielle Chapitre 3: UML pour la description et la documentation d une architecture logicielle Année universitaire 2013/2014 Semestre 1 Rappel L architecture d un programme ou d un système

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

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

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

Panorama des solutions analytiques existantes

Panorama des solutions analytiques existantes Arnaud LAROCHE Julien DAMON Panorama des solutions analytiques existantes SFdS Méthodes et Logiciels - 16 janvier 2014 - Données Massives Ne sont ici considérés que les solutions autour de l environnement

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

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

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

Chapitre 10. Architectures des systèmes de gestion de bases de données

Chapitre 10. Architectures des systèmes de gestion de bases de données Chapitre 10 Architectures des systèmes de gestion de bases de données Introduction Les technologies des dernières années ont amené la notion d environnement distribué (dispersions des données). Pour reliér

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

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

1. Introduction. Bases de données Réparties, Fédérées et Réplication. Plan. Bibliographie du cours

1. Introduction. Bases de données Réparties, Fédérées et Réplication. Plan. Bibliographie du cours Bases de données Réparties, Fédérées et Réplication Bernard ESPINASSE Professeur à Aix-Marseille Université (AMU) Ecole Polytechnique Universitaire de Marseille Avril 2013 1. Répartition & Fédération 2.

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

Big data et données géospatiales : Enjeux et défis pour la géomatique. Thierry Badard, PhD, ing. jr Centre de Recherche en Géomatique

Big data et données géospatiales : Enjeux et défis pour la géomatique. Thierry Badard, PhD, ing. jr Centre de Recherche en Géomatique Big data et données géospatiales : Enjeux et défis pour la géomatique Thierry Badard, PhD, ing. jr Centre de Recherche en Géomatique Événement 25e anniversaire du CRG Université Laval, Qc, Canada 08 mai

Plus en détail

Business Intelligence, Etat de l art et perspectives. ICAM JP Gouigoux 10/2012

Business Intelligence, Etat de l art et perspectives. ICAM JP Gouigoux 10/2012 Business Intelligence, Etat de l art et perspectives ICAM JP Gouigoux 10/2012 CONTEXTE DE LA BI Un peu d histoire Premières bases de données utilisées comme simple système de persistance du contenu des

Plus en détail

Octopus password breaker

Octopus password breaker Octopus password breaker 14 avril 2015 Danny Francis 1 / 31 Introduction Un espace de recherche extrêmement grand, dont la taille augmente exponentiellement par rapport

Plus en détail

[BIG DATA & NOSQL] Rédigé par : Belhaj Hajar & Khanoun Chaimae Encadré par : Mr Badir Hassan

[BIG DATA & NOSQL] Rédigé par : Belhaj Hajar & Khanoun Chaimae Encadré par : Mr Badir Hassan ECOLE SUPERIEURE DE SCIENCES TECHNIQUES ET DE MANAGMENT [BIG DATA & NOSQL] Rédigé par : Belhaj Hajar & Khanoun Chaimae Encadré par : Mr Badir Hassan Abstract Big data, which refers to the data sets that

Plus en détail

La dernière base de données de Teradata franchit le cap du big data grâce à sa technologie avancée

La dernière base de données de Teradata franchit le cap du big data grâce à sa technologie avancée Communiqué de presse Charles-Yves Baudet Twitter: Les clients de Teradata Teradata Corporation peuvent dan.conway@teradata.com tirer parti de plusieurs + 33 1 64 86 76 14 + 33 (0) 1 55 21 01 48/49 systèmes,

Plus en détail

TP Bases de données réparties

TP Bases de données réparties page 1 TP Bases de données réparties requêtes réparties Version corrigée Auteur : Hubert Naacke, révision 5 mars 2003 Mots-clés: bases de données réparties, fragmentation, schéma de placement, lien, jointure

Plus en détail

BONJOURGRID : VERSION ORIENTÉE DONNÉE & MAPREDUCE SÉCURISÉ

BONJOURGRID : VERSION ORIENTÉE DONNÉE & MAPREDUCE SÉCURISÉ Laboratoire LaTICE Univ. de Tunis INRIA LYON Avalon Team Laboratoire d Informatique de Paris Nord (LIPN) BONJOURGRID : VERSION ORIENTÉE DONNÉE & MAPREDUCE SÉCURISÉ Heithem Abbes Heithem Abbes Rencontres

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

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

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

Titre : La BI vue par l intégrateur Orange

Titre : La BI vue par l intégrateur Orange Titre : La BI vue par l intégrateur Orange Résumé : L entité Orange IT&L@bs, partenaire privilégié des entreprises et des collectivités dans la conception et l implémentation de SI Décisionnels innovants,

Plus en détail

Optimisation de requêtes. I3009 Licence d informatique 2015/2016. Traitement des requêtes

Optimisation de requêtes. I3009 Licence d informatique 2015/2016. Traitement des requêtes Optimisation de requêtes I3009 Licence d informatique 2015/2016 Cours 5 - Optimisation de requêtes Stéphane.Gançarski Stephane.Gancarski@lip6.fr Traitement et exécution de requêtes Implémentation des opérateurs

Plus en détail

Master Informatique et Systèmes. Architecture des Systèmes d Information. 03 Architecture Logicielle et Technique

Master Informatique et Systèmes. Architecture des Systèmes d Information. 03 Architecture Logicielle et Technique Master Informatique et Systèmes Architecture des Systèmes d Information 03 Architecture Logicielle et Technique Damien Ploix 2014-2015 Démarche d architecture SI : structuration en vues Quels métiers?

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

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

«clustering» et «load balancing» avec Zope et ZEO

«clustering» et «load balancing» avec Zope et ZEO IN53 Printemps 2003 «clustering» et «load balancing» avec Zope et ZEO Professeur : M. Mignot Etudiants : Boureliou Sylvain et Meyer Pierre Sommaire Introduction...3 1. Présentation générale de ZEO...4

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

Présentation Alfresco

Présentation Alfresco Présentation d un CMS : Alfresco Présentation Alfresco Ludovic Plantin, Frédéric Sénèque, Xu Zhao Polytech Grenoble Décembre 2008 Plantin, Sénèque, Xu (Polytech) Présentation Alfresco Décembre 2008 1 /

Plus en détail

Catherine Chochoy. Alain Maneville. I/T Specialist, IBM Information Management on System z, Software Group

Catherine Chochoy. Alain Maneville. I/T Specialist, IBM Information Management on System z, Software Group 1 Catherine Chochoy I/T Specialist, IBM Information Management on System z, Software Group Alain Maneville Executive I/T specialist, zchampion, IBM Systems and Technology Group 2 Le défi du Big Data (et

Plus en détail

Sommaire. 3. Les grands principes de GFS L architecture L accès de fichier en lecture L accès de fichier en écriture Bilan

Sommaire. 3. Les grands principes de GFS L architecture L accès de fichier en lecture L accès de fichier en écriture Bilan 1 Sommaire 1. Google en chiffres 2. Les raisons d être de GFS 3. Les grands principes de GFS L architecture L accès de fichier en lecture L accès de fichier en écriture Bilan 4. Les Evolutions et Alternatives

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

Nos offres de stages pour 2013

Nos offres de stages pour 2013 Nos offres de stages pour 2013 Les sujets de stage que nous vous proposons sont des projets à très forte valeur ajoutée, mêlant recherche amont, algorithmique et implémentation. Ils touchent à des domaines

Plus en détail

DB2 10.5 BLU Acceleration Francis Arnaudiès f.arnaudies@fr.ibm.com

DB2 10.5 BLU Acceleration Francis Arnaudiès f.arnaudies@fr.ibm.com DB2 10.5 BLU Acceleration Francis Arnaudiès f.arnaudies@fr.ibm.com #solconnect13 SOLUTIONS ADAPTEES AUX BESOINS CLIENTS Mobile/Cloud Data Serving and Transaction Processing Mobile Storefront JSON Database

Plus en détail

Stephan Hadinger, Sr. Mgr Solutions Architecture, AWS. Salon du Big Data 11 mars 2015

Stephan Hadinger, Sr. Mgr Solutions Architecture, AWS. Salon du Big Data 11 mars 2015 Stephan Hadinger, Sr. Mgr Solutions Architecture, AWS Salon du Big Data 11 mars 2015 Accélération de l innovation +500 +280 Amazon EC2 Container Service +159 AWS Storage Gateway Amazon Elastic Transcoder

Plus en détail

Introduction aux Systèmes Distribués. Introduction générale

Introduction aux Systèmes Distribués. Introduction générale Introduction aux Systèmes Distribués Licence Informatique 3 ème année Introduction générale Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan

Plus en détail

Recherche d information textuelle

Recherche d information textuelle Recherche d information textuelle Pré-traitements & indexation B. Piwowarski CNRS / LIP6 Université Paris 6 benjamin@bpiwowar.net http://www.bpiwowar.net Master IP - 2014-15 Cours et travaux pratiques

Plus en détail

4 Exemples de problèmes MapReduce incrémentaux

4 Exemples de problèmes MapReduce incrémentaux 4 Exemples de problèmes MapReduce incrémentaux 1 / 32 Calcul des plus courtes distances à un noeud d un graphe Calcul des plus courts chemins entre toutes les paires de noeuds d un graphe Algorithme PageRank

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

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

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

IFT630 Processus concurrents et parallélisme. Projet final Rapport. Présenté à Gabriel Girard

IFT630 Processus concurrents et parallélisme. Projet final Rapport. Présenté à Gabriel Girard IFT630 Processus concurrents et parallélisme Projet final Rapport Présenté à Gabriel Girard par Alexandre Tremblay (06 805 200) Pierre-François Laquerre (05 729 544) 15 avril 2008 Introduction Après plusieurs

Plus en détail

Circuits électroniques au service de l'optimisation multi-requêtes

Circuits électroniques au service de l'optimisation multi-requêtes Ecole Nationale de Mécanique et d Aérotechnique Laboratoire d Informatique et d Automatique pour les Systèmes Circuits électroniques au service de l'optimisation multi-requêtes Ahcène BOUKORCA Sous la

Plus en détail

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Livre blanc Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Présentation Ce document examine la prise en charge de la programmabilité sur l'infrastructure axée

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

Map-Reduce : un cadre de programmation parallèlle pour l analyse de grandes données. Stéphane Genaud ENSIIE

Map-Reduce : un cadre de programmation parallèlle pour l analyse de grandes données. Stéphane Genaud ENSIIE Map-Reduce : un cadre de programmation parallèlle pour l analyse de grandes données Stéphane Genaud ENSIIE Traitement de données distribuées Google a introduit Map-Reduce [Dean and Ghemawat 2004] Ils s

Plus en détail

Les requêtes Oracle XML DB. Du modèle relationnelle au modèle Hiérarchique

Les requêtes Oracle XML DB. Du modèle relationnelle au modèle Hiérarchique Les requêtes Oracle XML DB Du modèle relationnelle au modèle Hiérarchique Sommaire Rappel des modèles Le modèle relationnel Le modèle hiérarchique Leurs différences Oracle XML DB Les types de XMLType Les

Plus en détail