ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
Plan
Bases de Donnes rparties / dcisionnelles Option: ASL Objectifs pdagogiques
Aborder les bases avances, utilises en systme d'information de grande envergure (rpartis, entrepts de donnes) ventuellement utilis pour le dcisionnel (ou BI, Business Intelligence) Bases rparties, fdres Bases multidimensionnelles Bases dcisionnelles
EVALUATION
Composants Examen Final Comptes rendus*
*assiduit, comptes rendus
Pondration (%) 80 % 20 %
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
introduction
introduction
introduction
On peut imaginer deux sites de production de vhicule grant plusieurs usines et un site de gestion pour une mme socit.
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
La gestion rpartie de donnes est prsente sous des formes trs varies
Systmes rpartis de gestion de fichiers Mmoire virtuelle rpartie Accs aux donnes sur le Web Bases de donnes rparties
Tous ces systmes utilisent quelques techniques communes Dsignation rpartie Gestion de caches, donnes dupliques Gestion de cohrence Gestion de la persistance
Septembre, 2012 ahmad.abdallah@ensi-bourges.com
ENSI-Bourges
Pression des entreprises 90% des accs concernent des donnes locales impratif de dcentraliser l'information cas des Multinationales
Pression des utilisateurs bases de donnes directement adaptes leurs besoins Vers l'Ubiquitous Computing (Informatique OmniPrsente)
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
Critres de Classification
AUTONOMIE Concerne la distribution du contrle Mesure le degr d'indpendance Fonction de : Volume des changes inter-sites Capacits d'excution indpendamment des autres sites
DISTRIBUTION: (ou pas) des donnes HETEROGENEITE Hardware, protocoles rseaux Modles de donnes : puissances d'expression Langages : paradigmes, dialecte(s)
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
10
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
11
Processeur de donnes
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
12
Processeur dapplications
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
13
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
14
Dfinitions
Une base de donnes rpartie (distribue) est une base de donnes logique dont les donnes sont distribues sur plusieurs SGBD et visibles comme un tout:
Les donnes sont changes par messages. Si les donnes sont dupliques, on parle plutt de BD rplique Chaque base possde son schma local Le schma de la base rpartie constitue le schma global il n'est gnralement pas matrialis il peut servir de support de conception Les donnes sont accdes via des vues intgres assurent la transparence la localisation permettent des recompositions de tables par union/jointure
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
15
Dfinitions
Base de donne fdre - a priori htrogne (Federated BD) Plusieurs BD htrognes capables d'interoprer via une vue commune (modle commun)
Multibase Plusieurs BD (htrognes ou non) capables d'interoprer via un langage commun sans une vue commune (absence de modle commun)
Bases de donnes interoprables Coopration, mais pas dintgration. Les bases sont homognes ou htrognes
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
16
Dfinitions
Bases de donnes rparties Plusieurs bases sur plusieurs sites, mais une seule BD logique
Les ordinateurs (appels sites) communiquent via le rseau et sont faiblement coupls. Chaque site contient des donnes de la base, peut excuter des transactions locales et participer lexcution de transactions globales La rpartition affecte les donnes, les traitements, les contrles La topologie des BD rparties est semblable celles des rseaux : anneau, toile, arbre,
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
17
Dfinitions
Une base de donnes centralise est gre par un seul SGBD, est stocke dans sa totalit un emplacement physique unique et ses divers traitements sont confis une seule et mme unit de traitement.
Par opposition, une base de donnes distribue est gre par plusieurs processeurs, sites ou SGBD (base de donnes distribue = Ce terme gnrique englobe les BD rparties, les BD fdres et les BD parallles). Un systme de bases de donnes rparties ne doit donc en aucun cas tre confondu avec un systme dans lequel les bases de donnes sont accessibles distance. Dans une multibase, plusieurs BDs interoprent avec une application via un langage commun et sans modle commun. Dans une BD fdre, plusieurs BDs htrognes sont accdes comme une seule via une vue commune.
Septembre, 2012 ahmad.abdallah@ensi-bourges.com
ENSI-Bourges
18
Motivations
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
19
Motivations
Prdiction daccroissement: Vitesse des microprocesseurs : 50% par an, Capacit des DRAM : 4 fois tous les 4 ans, Dbit des disques : 2 fois sur les 10 dernires annes. Goulot dtranglement sur les E/S.
Pour amliorer le dbit des E/Ss : Partitionnement des donnes, Accs parallle aux donnes, Utiliser plusieurs nuds (avec un bon cot/ performance), et les faire communiquer par un rseau.
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
20
Problmes surmonter
Cot : la distribution entrane des cots supplmentaires en terme de communication, et en gestion des communications (hardware et software installer pour grer les communications et la distribution).
Problme de concurrence. Scurit : la scurit est un problme plus complexe dans le cas des bases de donnes rparties que dans le cas des bases de donnes centralises: Nouveaux types dincidents : perte de messages, panne dune liaison, etc. Prservation des bases des sites oprationnels en cas de panne dun site Confidentialit sur un rseau
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
21
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
22
nous mettons la table Produit et LigneStock sur des bases de donnes diffrentes, respectivement db1 et db2. Lors de l'insertion d'une ligne dans LigneStock db2 doit vrifier si l'identifiant du produit existe bien sur db1, en prenant soin la concurrence d'acces. De mme lors de la suppression d'une ligne dans Produit vrifier qu'aucune ligne ne fait rfrence dans db2 au produit supprim. db1 doit
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
23
SGBD Rparti?
Objectif: Rendre transparente la rpartition (ou distribution)
traitement des requtes rparties : Requte distribue : Requte mise par un client dont lexcution ncessite lexcution de n sous requtes sur n serveurs (n > 1)
gestion de transactions rparties gestion de la cohrence et de la scurit
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
24
SGBD Rparti?
Pour une application cliente, l'emplacement et la plate-forme de bases de donnes sont transparentes.
Cas: Vous pouvez galement crer des synonymes sur les objets distants dans le systme rparti de sorte que les utilisateurs puissent y accder avec la mme syntaxe que les objets locaux.
Par exemple, si vous tes connect la base de donnes mfg mais voulez accder aux donnes de la base hq, la cration d'un synonyme pour le mfg sur la table distante dept vous permet d'mettre cette requte: SELECT * FROM dept;
Septembre, 2012 ahmad.abdallah@ensi-bourges.com
ENSI-Bourges
25
SGBD Rparti?
Un lien de base de donnes est un pointeur qui dfinit un chemin de communication sens unique partir d'un serveur de base de donnes vers un autre serveur de base de donnes.
Le pointeur de lien est en fait dfini comme une entre dans une table de dictionnaire de donnes. Pour accder au lien, vous devez tre connect la base de donnes local qui contient l'entre du dictionnaire des donnes. Avantage: un utilisateur local (scott) peut accder une base de donnes distance sans y tre dclar.
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
26
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
27
Tous les niveaux doivent tre concerns par la rpartition pour que l'on puisse parler d'une vrai BD rpartie
ENSI-Bourges Septembre, 2012 ahmad.abdallah@ensi-bourges.com
28
Conception BDR
De la conception en centralis : schma conceptuel global Attributs, Domaines, Tables, Vue, schma physique Stockage, index, pages,
Nouveau en distribu : Dfinition des fragments Unit de distribution logique Conception physique : placement des fragments, stockage, chemins daccs.
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
29
Conception BDR
La dfinition du schma de rpartition est la partie la plus dlicate de la phase de conception d'une BDR car il n'existe pas de mthode miracle pour trouver la solution optimale.
Le concepteur doit donc prendre des dcisions en fonction de critres techniques et organisationnels avec pour objectif de minimiser : le nombre de transferts entre sites les temps de transfert le volume de donnes transfres les temps moyens de traitement des requtes le nombre de copies de fragments, etc...
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
30
Il existe 3 types de fragmentations : horizontale, verticale et mixte. Les fragments horizontaux sont des sousensembles de tuples et les fragments verticaux sont des sous-ensembles dattributs
Les rgles de fragmentation sont les suivantes : 1. La compltude : pour toute donne dune relation R, il existe un fragment Ri de la relation R qui possde cette donne. 2. La reconstruction : pour toute relation dcompose en un ensemble de fragments Ri, il existe une opration de reconstruction.
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
31
fragmentation trois types : horizontale, verticale, mixte performances en favorisant les accs locaux quilibrer la charge de travail entre les sites (paralllisme)
Grain / degr de fragmentation Trop peu de fragments - faible concurrence Trop de fragments - surcot dans la reconstruction des relations
ENSI-Bourges Septembre, 2012 ahmad.abdallah@ensi-bourges.com
32
hybride
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
33
Oprateurs algbriques
Langage d'interrogation qui a inspir le langage SQL. On se donne des oprateurs que l'on applique aux relations de la base, pour obtenir les donnes que l'on cherche : 2 types d'oprateurs, relationnels et ensemblistes.
Fragmentation horizontale L'oprateur de partitionnement est la slection () L'oprateur de recomposition est l'union () Fragmentation verticale L'oprateur de partitionnement est la projection () L'oprateur de recomposition est la jointure (*) Fragmentation hybride L'opration de partitionnement est une combinaison de projections et de slections. L'opration de recomposition est une combinaison de jointures et d'unions.
Septembre, 2012 ahmad.abdallah@ensi-bourges.com
ENSI-Bourges
34
Fragmentation Favoriser les accs locaux quilibrer la charge de travail entre les sites
Duplication (+) Favoriser les accs locaux (+) Augmenter la disponibilit des donnes (+) performances des requtes et disponibilit (-) cot des mises jour et contrle de concurrence plus complexe (+) Paralllisme en lecture (+) Moindre flux sur le rseau (-) Cot des mises jour
ENSI-Bourges Septembre, 2012 ahmad.abdallah@ensi-bourges.com
35
Schmas
Schma conceptuel global Client (nclient, nom, ville) Cde (ncde, nclient, produit, qt)
Schma de placement Client = Client1 @ Site1 U Client1 @ Site2 Cde = Cde @ Site3 Fragments dfinis par slection:
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
36
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
37
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
38
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
39
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
40
Proprits de la fragmentation
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
41
Allocation de Fragments
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
42
Allocation de Fragments
Allocation des fragments aux sites Non-duplique partitionne : chaque fragment rside sur un seul site
Duplique chaque fragment sur un ou plusieurs sites maintien de la cohrence des copies multiples Rgle intuitive: si le ratio est [lectures/mj] > 1, la duplication est avantageuse
ENSI-Bourges Septembre, 2012 ahmad.abdallah@ensi-bourges.com
43
Un Autre Exemple
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
44
Un Autre Exemple
Fragmentation horizontale
Fragmentation hybride
La recomposition de Compte est Compte1 Compte2 Fragmentation verticale (Rpartition des attributs) La relation Client est obtenue avec : (Cli3 Cli5) * Cli4 * Cli6
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
45
Proprits de la fragmentation
Reconstruction Possible avec les oprateurs de lalgbre relationnelle Critres de fragmentation horizontale simples ou complexes
Compltude Horizontale : chaque n-uplet de R est dans un fragment Verticale : chaque attribut est dans un fragment Pas de perte dinformation Similaire la normalisation
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
46
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
47
Soient c1, c2, ..., cn les conditions de slection qui ont t extraites des requtes.
Comme les fragments horizontaux doivent tre exclusifs, on produit l'ensemble des 2 puissance n conjonctions de condition o chaque condition lmentaire est prise dans sa forme positive ou dans sa forme ngative :
On te de cet ensemble les conjonctions de condition qui sont toujours fausses, et on simplifie les autres.
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
48
Un plan dexcution dcrit la mthode dexcution dune requte. Il est souvent reprsent par un arbre algbrique.
Un arbre algbrique est un arbre o les nuds sont des oprateurs algbriques et les feuilles les sources de donnes. Il peut exister plusieurs voire une infinit de faon dexcuter une requte (toutes reprsente par des plans dexcution quivalents). Lensemble des plans dexcution permettant de rsoudre une requte est appel espace de recherche.
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
49
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
50
Fragmentation
R = R1 U R2
Select A from R1 where B =b union Select A from R2 where B = b R1 = R1 @ Site1 R2 = R2 @ Site2 R2 = R2 @ Site3
Optimisation
51
2 arbres
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
52
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
53
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
54
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
55
Rduction pour la fragmentation horizontale Rgle : liminer l'accs aux fragments inutiles
Exemple : Client1 : Client where ville = Paris Client2 : Client where ville not Paris
Select * from Client where ville = Lyon
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
56
Rgle : liminer les accs aux relations de base qui n'ont pas d'attributs utiles pour le rsultat final
Exemple Cde1 : Cde (ncode, nclient) Cde2 : Cde (ncode, produit, qt)
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
57
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
58
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
59
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
60
Choix de la solution
Site 1 : Client1 = Client where ville= Paris Site 2 : Client2 = Client where ville not Paris Site 3 : Cde1 = Cde where Cde.nclient=Client1.nclient Site 4 : Cde2 = Cde where Cde.nclient=Client2.nclient
Site 5 : rsultat Select * from Client, Cde where Client.nclient = Cde.nclient and qt > 10)
ENSI-Bourges Septembre, 2012 ahmad.abdallah@ensi-bourges.com
61
Schmas dallocation
L'affectation des fragments sur les sites est dcide en fonction de l'origine prvue des requtes qui ont servi la fragmentation.
Le but est de placer les fragments sur les sites o ils sont le plus utiliss, et ce pour minimiser les transferts de donnes entre les sites. Lallocation peut se faire avec rplication ou sans rplication. Sachant que la rplication favorise les performances des requtes et la disponibilit des donnes, mais est coteuse en considrant les mises jour des fragments rpliquas.
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
62
Rplication
Certaines informations ne subissent pas souvent de modification (comme le nom de famille, l'adresse ou le nombre d'enfants des employs) et par consquent une copie mme ancienne de ces informations est, dans sa grande majorit, exacte.
La rplication consiste en lutilisation de clichs (ang. snapshot). Un clich reprsente un tat de la base de donnes un instant donn. La pertinence d'un clich diminue donc au fur et mesure que le temps passe. taux de satisfaction pour le systme d'information: l'anciennet du clich et le temps ncessaire la mise jour. Exemple: En milieu bancaire la dcision d'autoriser un retrait d'argent (compte suffisamment approvisionn) peut tre prise en fonction d'un clich lgrement ancien plutt que d'accder l'information originale qui ne sera que lgrement plus fiable.
Septembre, 2012 ahmad.abdallah@ensi-bourges.com
Site B R1 R2
Site A
R1
R3
ENSI-Bourges
63
Suppression Rechercher le tuple dans les fragments qui sont susceptibles de contenir le tuple concern, et supprimer les valeurs d'attribut du tuple dans tous les fragments verticaux.
Modification Rechercher les tuples, les modifier et les dplacer vers les bons fragments si ncessaire.
ENSI-Bourges Septembre, 2012 ahmad.abdallah@ensi-bourges.com
64
SELECT AVG(S.age) FROM Sailors S WHERE S.rating > 3 AND S.rating < 7
F. Horizontale
Tuples avec rating < 5 Shanghai, >= 5 Tokyo. Pour calculer le moyen, nous devons calculer la somme et le total sur les deux sites Si WHERE contenait juste S.rating>6, juste un site.
F. Verticale
sid et rating Shanghai, sname , age Tokyo, tid dans les deux Jointure de deux fragments sur le tid et execution de la requete sur la relation reconstruite
Replication
Excution de la requte sur le site offrant le meilleur cot.
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
65
Semi-jointure
Les BDR ont abouti la dfinition d'un nouvel oprateur, la semi-jointure. Il s'agit en fait d'une double jointure : le principe est d'effectuer deux petites jointures plutt qu'une grosse; c'est dire deux petites transmissions de donnes plutt qu'une seule beaucoup plus volumineuse. La semi-jointure rduit la taille des oprandes des relations. Elle permet de rduire la taille des donnes transmettre.
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
66
Semi-jointure
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
67
Semi-jointure
R1[A]
1 2 3
Site 2
R2 Ship(3)
A 3 C 7
projection
4
5
8
9
reduce Ship(6)
3 7
Ship(2)
R2
qs
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
68
Semi-jointure
R1[A]
Site 1
R1
A B
2 3
Site 2
Ship(3) R2
A 3 C 7 8 9
projection
4
5 6
1
2 3
Ship(1)
R1[A]m
3
partition
reduce
R1[A]nm
1 2
reduce
3 7
R1
R2
Ship(2)
Ship(2)
qs
ENSI-Bourges Septembre, 2012 ahmad.abdallah@ensi-bourges.com
69
R2
B
1
S#
Phone
S#
Name
0
Hij( (Ri)) Bij
1
3 4 8
Cindy
Jemal Sunny Maggie
projection
3
4 8
1
1 Ship(B ) ij Rj 0 0 0 1
222
3
4 5 6 3 4
333
444 555 666
reduce
H(x)=X
333 444
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
70
Rappel Transactions
Une transaction = squence d'instructions qui soit russit, soit choue.
Les transactions doivent possder les proprits ACID :
A = atomicit (une transaction est complte ou abandonne compltement ) C = consistance (une transaction doit transformer le systme d'un tat consistant un autre tat consistant) I = isolation (chaque transaction est vue indpendamment des autres ) D = durabilit (les transactions valides ont des effets permanents)
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
71
Rappel Transactions
Une excution concurrente non contrle de plusieurs transactions peut amener des incohrences.
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
72
Rappel Transactions
Considrons deux transactions faisant une rservation d'une place d'avion, alors qu'il n'y a plus qu'une place de disponible. Les deux transactions pourront nanmoins effectuer les deux rservations, conduisant une incohrence de la base de donnes.
Une excution concurrente non contrle de plusieurs transactions peut amener des incohrences.
ENSI-Bourges Septembre, 2012 ahmad.abdallah@ensi-bourges.com
73
Rappel Transactions
Perte de mise jour : La perte de la mise jour d'une donne peut avoir lieu lorsque deux transactions qui accdent aux mmes donnes ont leurs oprations imbriques, si bien qu'une valeur d'une donne devient incorrecte. Ainsi sur la figure suivante, la valeur finale de X est incorrecte, car T2 lit la valeur de X avant que T1 la change dans la base de donnes. Si X = 80 au dbut, T1 retranche 5 et T2 ajoute 4, la valeur finale devrait tre 79. Mais elle sera de 84, car la mise jour X-5 de T1 est perdue.
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
74
Rappel Transactions
Lecture impropre (Dirty read) : Une lecture d'une valeur temporaire de donne peut conduire une valeur fausse . Ceci a lieu lorsqu'une transaction met jour une donne de la base et que cette transaction choue ou est annule. La valeur mise jour est lue par une seconde transaction avant que la donne ait retrouv sa valeur initiale conduisant un "dirty read". Dans la figure suivante, T1 met jour la donne X et ensuite choue et est annule : X retrouve sa valeur initiale (80). T2 a lu entre-temps la valeur temporaire de X (75) qui ne sera pas enregistre cause de l'chec de T1. La valeur de X lue par T2 est donc fausse.
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
75
Rappel Transactions
Lecture non reproductible : Dans le corps de la mme transaction, la relecture d'une donne peut produire un rsultat diffrent du fait de la modification de la donne par une autre transaction entre les deux lectures successives. Sur la figure suivante, T1 relit la valeur de X aprs que T2 la change dans la base de donnes. Si X = 80 au dbut, T1 lue 80 et T2 aussi. T2 ajoute 9 et quand T1 relue la valeur de X, elle est 71. Mais elle devrait tre 80 car T1 n'a pas chang la valeur de X.
76
Rappel Transactions
Contrle de concurrence Srialisabilit: Entrelacement des actions tel que le rsultat des actions est quivalent une excution squentielle. Mthodes Pessimistes Optimistes
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
77
Rappel Transactions
Supposons que deux transactions veulent modifier une mme base de donnes. Supposons de plus que ces transactions sont excutes squentiellement : 1. On excute toutes les oprations de T1 conscutivement, puis on fait de mme avec les oprations de T2. ou 2. On excute toutes les oprations de T2 conscutivement, puis on fait de mme avec T1.
Le schma suivant montre la diffrence entre les 2 excutions:
la base par dfinition, aprs T1 et T2, reste cohrente, dans un tat stable.
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
78
Rappel Transactions
Mais dans une environnement multitches, on risque dobtenir plutt cette excution:
contrle de concurrence -> srialisabilit: Dterminer quelles excutions sont "correctes" ou pas ?
ENSI-Bourges Septembre, 2012 ahmad.abdallah@ensi-bourges.com
79
Rappel Requtes
Considrons le schma :
CINEMA(Cinma, Adresse, Grant) SALLE(Cinma, NoSalle, Capacit) avec les hypothses : 1. Il y a 300 n-uplets dans CINEMA, occupant 30 pages. 2. Il y a 1200 n-uplets dans SALLE, occupant 120 pages.
On considre la requte : Adresse des cinmas ayant des salles de plus de 150 places En SQL, cette requte sexprime de la manire suivante : SELECT Adresse FROM CINEMA, SALLE WHERE capacit > 150 AND CINEMA.cinma = Salle.cinma
ENSI-Bourges Septembre, 2012 ahmad.abdallah@ensi-bourges.com
80
Rappel Requtes
Soit une jointure suivie dune slection, ou linverse. NB: on peut les reprsenter comme des arbres.
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
81
Rappel Requtes On suppose quil ny a que 5% de salles de plus de 150 places. 1. Jointure : on lit 3 600 pages (120x30); Slection : on obtient 5% de 120 pages, soit 6 pages. Nombre dE/S: 3 600 + 120 + 6 = 3 726.
2. Slection : on lit 120 pages et on obtient 6 pages. Jointure : on lit 180 pages (6x30) et on obtient 6 pages. Nombre dE/S: 120 + 6 + 180 + 6 = 312.
la deuxime stratgie est de loin la meilleure !
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
82
Problme en C/S
Chaque application doit grer les communications la manipulation de donnes les performances Ne passe pas lchelle
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
83
Mdiateur
Fonctions catalogue global des donnes intgration de schmas gnration dadaptateurs requtes distribues Bilan point daccs unique et uniforme indpendance application/sources => volution les donnes sont toujours fraches traitement de requtes peut tre coteux performances
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
84
Mdiateur
Le mdiateur soccupe de la distribution des sources: Localisation des sources Dcomposition des requtes en requte adapte pour chacune des sources Envoi des requtes aux sources Recomposition des diffrents rsultats provenant de chacune des sources
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
85
Architecture de mdiation
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
86
Architecture de mdiation
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
87
Sources de donnes
Une source de donnes peut tre dcrite par : localisation rfrence du site (URL, IP:Port, annuaire LDAP) protocole de communication (TCP/IP, IPX, AppleTalk) moyen daccs (ODBC, JDBC, API) support (pages Web, SGBD) type de donnes quelle gre (structur (SGBD-R, SGBD-O), semi-structur (XML, ), non structur (images, multimdia, textes)) possibilit dinterrogation (SQL, OQL, propritaire, moteur de recherche web) format des rsultats (XML, HTML, ResultSet (tuples), textes)
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
88
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
89
exemple
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
90
Fournisseurs
Fournisseurs indpendants extracteurs indpendants entre les donnes sources et les outils cibles Information Builders Inc. (IBI), Evolutionary Technology Inc. (ETI), Prism, Carleton, etc.
Editeurs de SGBD passerelles entre le SGBD et les donnes sources interface standard : ODBC, JDBC, OLE/DB, ADO Oracle, DB2, Microsoft, Sybase, etc.
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
91
SGBD distribus
SGBD relationnels Oracle, Ingres, Sybase, DB2, Informix DataJoiner (IBM) bas sur DB2 VirtualDB (Enterworks) bas sur GemStone, vue objet des tables Open Database Exchange (B2Systems)
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
92
SGBD distribus
Oracle et la distribution des donnes
SGBD Oracle: gestion du catalogue de la BDR SQL*Net: connexion client-serveur, login distance automatique requtes distribues, transactions distribues, rplication SQL*Connect : passerelle vers les bases non-Oracle
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
93
REFERENCES
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com
94
Bases de donnes rparties, Prsentation Gnrale, Matthieu Exbrayat http://memoireonline.com/05/10/3459/m_Bases-de-donnees-reparties-sous-Oracle1.html http://www.infres.enst.fr/~dombd/Cours/transactions/Cours/presentation.html http://tice.univ-nc.nc/~taladoire/Pedagogie/RessourcesBD/EPFL/poly3_fichiers/15/15.html http://www.lamsade.dauphine.fr/~litwin/Rim/Teaching_fichiers/BDR/BDR06.pdf INTRODUCTION AUX APPLICATIONS RPARTIES, S. Krakowiak G. Gardarin, O. Gardarin , Le Client-Serveur , Eyrolles, 2e dition, 1996 Bases de donnes : Introduction et Objectifs, G. Gardarin et L. Bouganim, support de cours, http://georges.gardarin.free.fr/ S. Miranda, A. Ruols , Client-Serveur, Moteurs SQL, middleware, et architectures parallles Eyrolles, 2e dition, 1996. M.T.Ozsu, P.Valduriez , Principles of Distributed DataBase Systems Prentice-Hall, Inc., Englewood Cliffs, New Jersey, 1991. G.Gardarin, P.Valduriez , SGBD avancs, BD objets, dductives, rparties, Eyrolles, Paris, 1990. Didier DONSEZ Rpartition, Rplication, Nomadisme, Htrognit dans les SGBDs, polycopi, IMAG, Universit Grenoble.
ENSI-Bourges
Septembre, 2012
ahmad.abdallah@ensi-bourges.com