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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 7 : Familles de bases de données NoSQL Les bases de données relationnelles mises au point dans les

Plus en détail

ARCHITECTURES DES SYSTÈME DE BASE DE DONNÉES. Cours Administration des Bases de données M Salhi

ARCHITECTURES DES SYSTÈME DE BASE DE DONNÉES. Cours Administration des Bases de données M Salhi ARCHITECTURES DES SYSTÈME DE BASE DE DONNÉES Cours Administration des Bases de données M Salhi Architectures des Système de base de données Systèmes centralisés et client-serveur Server System Architectures

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

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

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

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

SQL-ON-HADOOP. Veille Technologique et Stratégique 2015 Guo Kai Élève de RICM 5 Kai.Guo@e.ujf-Grenoble.fr

SQL-ON-HADOOP. Veille Technologique et Stratégique 2015 Guo Kai Élève de RICM 5 Kai.Guo@e.ujf-Grenoble.fr SQL-ON-HADOOP Veille Technologique et Stratégique 2015 Guo Kai Élève de RICM 5 Kai.Guo@e.ujf-Grenoble.fr Données structurées (RDBMS) Exiger de strictement être organisé Annexer à RDBMS sans couture Consultable

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

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

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

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

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

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

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

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

Plan. Cours 4 : Méthodes d accès aux données. Architecture système. Objectifs des SGBD (rappel)

Plan. Cours 4 : Méthodes d accès aux données. Architecture système. Objectifs des SGBD (rappel) UPMC - UFR 99 Licence d informatique 205/206 Module 3I009 Cours 4 : Méthodes d accès aux données Plan Fonctions et structure des SGBD Structures physiques Stockage des données Organisation de fichiers

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

Cours #4 Introduction aux bases de données

Cours #4 Introduction aux bases de données IFT-6800, Automne 2015 Cours #4 Introduction aux bases de données Louis Salvail André-Aisenstadt, #3369 salvail@iro.umontreal.ca Pourquoi les bases de données Des applications nécessitent l organisation

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

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

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

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

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

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

Conception de BDR et requêtes. Migration vers une BDR. Conception d'une BDR par Décomposition. Objectifs de la Décomposition

Conception de BDR et requêtes. Migration vers une BDR. Conception d'une BDR par Décomposition. Objectifs de la Décomposition Conception de BDR et requêtes Migration vers une BDR Approche décomposition Fragmentation Allocation des fragments Fragmentation de requêtes Optimisation de requêtes Décomposition en BD locales BD BD1

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

Introduction aux systèmes répartis

Introduction aux systèmes répartis Introduction aux systèmes répartis Grappes de stations Applications réparties à grande échelle Systèmes multicalculateurs (1) Recherche de puissance par assemblage de calculateurs standard Liaison par

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

Sophia Conf 2014. Bases de données RDF. versatilité, puissance et scalabilité. Bases de données RDF

Sophia Conf 2014. Bases de données RDF. versatilité, puissance et scalabilité. Bases de données RDF Sophia Conf 2014 versatilité, puissance et scalabilité Your business 2 juillet technologists. 2014 Sophia Conf Powering 2014 progress Agenda Introduction Vision du Web sémantique par Atos Modèle W3C vs

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

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

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

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

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

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

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE I N T E RS Y S T E M S INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE David Kaaret InterSystems Corporation INTERSySTEMS CAChé CoMME ALTERNATIvE AUx BASES de données RéSIdENTES

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

Plan de cette partie. Implantation des SGBD relationnels. Définition et fonctionnalités. Index. Coûts pour retrouver des données

Plan de cette partie. Implantation des SGBD relationnels. Définition et fonctionnalités. Index. Coûts pour retrouver des données Implantation des SGBD relationnels Université de Nice Sophia-Antipolis Version 3.4 25//06 Richard Grin Plan de cette partie Nous allons étudier (très rapidement!) quelques éléments de solutions utilisés

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

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

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

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

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

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

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

Le langage SQL Rappels

Le langage SQL Rappels Le langage SQL Rappels Description du thème : Présentation des principales notions nécessaires pour réaliser des requêtes SQL Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs,

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

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

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

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

Architectures web pour la gestion de données

Architectures web pour la gestion de données Architectures web pour la gestion de données Dan VODISLAV Université de Cergy-Pontoise Plan Le Web Intégration de données Architectures distribuées Page 2 Le Web Internet = réseau physique d'ordinateurs

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

SQL pour. Oracle 10g. Razvan Bizoï. Tsoft, Groupe Eyrolles, 2006, ISBN : 2-212-12055-9, ISBN 13 : 978-2-212-12055-4

SQL pour. Oracle 10g. Razvan Bizoï. Tsoft, Groupe Eyrolles, 2006, ISBN : 2-212-12055-9, ISBN 13 : 978-2-212-12055-4 SQL pour Oracle 10g Razvan Bizoï Tsoft, Groupe Eyrolles, 2006, ISBN : 2-212-12055-9, ISBN 13 : 978-2-212-12055-4 Ce guide de formation a pour but de vous permettre d'acquérir une bonne connaissance du

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

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

Le client/serveur repose sur une communication d égal à égal entre les applications.

Le client/serveur repose sur une communication d égal à égal entre les applications. Table des matières LES PRINCIPES DE BASE... 1 Présentation distribuée-revamping...2 Présentation distante...3 Traitements distribués...3 données distantes-rd...4 données distribuées-rda distribué...4 L'ARCHITECTURE

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

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

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

Gestion de données à large échelle. Anne Doucet LIP6 Université Paris 6

Gestion de données à large échelle. Anne Doucet LIP6 Université Paris 6 Gestion de données à large échelle Anne Doucet LIP6 Université Paris 6 1 Plan Contexte Les réseaux P2P Non structurés Structurés Hybrides Localisation efficace et Interrogation complète et exacte des données.

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

Plan. Langages Centrés Données. Master 2 Fiil. Données massives MapReduce SQL. Garanties

Plan. Langages Centrés Données. Master 2 Fiil. Données massives MapReduce SQL. Garanties Plan Langages Centrés Données Master 2 Fiil Données massives MapReduce Veronique.Benzaken@lri.fr Kim.Nguyen@lri.fr 1 Indexation/Implantation des Opérateurs/Calcul de coût 2 Rappels JDBC/Impedance Mismatch/JPA

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

avec nos solutions spécialisées pour la microfinance et ses institutions coopératives Big Data

avec nos solutions spécialisées pour la microfinance et ses institutions coopératives Big Data avec nos solutions spécialisées pour la microfinance et ses institutions coopératives Big Data Historique de Big data Jusqu à l avènement d Internet et surtout du Web 2.0 il n y avait pas tant de données

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

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